path
windows posix 文件系统结构 存在差异
windows使用反斜杠 \ posix使用正斜杠/
path.basename()
方法返回的是给定路径中的最后一部分
path.basename('C:\temp\myfile.html');
windows返回: myfile.html
posix返回:'C:\temp\myfile.html'
这样就存在问题了。
所以:
如果要在posix系统处理windows的路径需要调用对应操作系统的方法应该修改为
path.win32.basename('C:\temp\myfile.html');
path.dirname 返回除了最后一个路径的其他路径
path.dirname('/aaaa/bbbb/cccc/index.html') // /aaaa/bbbb/cccc
path.extname
这个API 用来返回扩展名例如/bbb/ccc/file.txt 返回就是.txt
path.extname('/aaaa/bbbb/cccc/index.html.ccc.ddd.aaa') //.aaa
path.join
这个API 主要是用来拼接路径的
path.join('/foo','/cxk','/ikun') // /foo/cxk/ikun path.join('/foo','/cxk','/ikun','../') // /foo/cxk/
path.resolve
将相对路径解析并且返回绝对路径
path.resolve('/aaa','/bbb','/ccc') // 如果传入了多个绝对路径 它将返回最右边的绝对路径 /ccc path.resolve(__dirname,'./index.js') // 传入绝对路径 + 相对路径 /User/xiaoman/DeskTop/node/index.js path.resolve('./index.js') // 如果只传入相对路径 返回工作目录 + index.js
path.parse path.format
一对api
parse 用于解析文件路径。它接受一个路径字符串作为输入,并返回一个包含路径各个组成部分的对象
path.parse('/home/user/dir/file.txt') { root: '/', dir: '/home/user/dir', base: 'file.txt', ext: '.txt', name: 'file' }
root
:路径的根目录,即/
。dir
:文件所在的目录,即/home/user/documents
。base
:文件名,即file.txt
。ext
:文件扩展名,即.txt
。name
:文件名去除扩展名,即file
。
format 正好相反 在把对象转回字符串
path.format({ root: '/', dir: '/home/user/documents', base: 'file.txt', ext: '.txt', name: 'file' }) // /home/user/dir/file.txt