导入path路径系统模块:const path = require('path');
- path.basename(path[, ext]):获取路径最后部分(参数ext:可选的文件扩展名)
1 2
console.log(path.basename('/foo/bar/baz/asdf/quux.html'))//结果:quux.html console.log(path.basename('/foo/bar/baz/asdf/quux.html'), '.html')//结果:quux
- path.dirname(path):路径的目录名
1
console.log(path.dirname('/foo/bar/baz/asdf/quux'))//结果:/foo/bar/baz/asdf
- path.extname():路径的扩展名(返回 path 的扩展名,即从 path 的最后一部分中的最后一个 .(句号)字符到字符串结束。如果 path 的最后一部分没有 . 或 path 的文件名(参考 path.basename())的第一个字符是 .,则返回一个空字符串。)
1 2 3 4 5
console.log(path.extname('index.html'))//结果:'.html' console.log(path.extname('index.coffee.md'))//结果:'.md' console.log(path.extname('index.'))//结果:'.' console.log(path.extname('index'))//结果:'' console.log(path.extname('.index'))//结果:''
- 路径的格式化处理:
path.format()
:obj -> stringpath.parse()
:string ->obj
path.parse():对象转成字符串1 2 3 4 5 6 7
console.log(path.parse('/home/user/dir/file.txt')) //输出结果: // { root: '/', //文件的根路径 // dir: '/home/user/dir', //文件的全路径 // base: 'file.txt', //文件名+扩展名 // ext: '.txt', //扩展名 // name: 'file' } //文件名
path.format():字符串转成对象
1 2 3 4 5 6
let objpath = { root: '/ignored', dir: '/home/user/dir', base: 'file.txt' } console.log(path.format(objpath))//结果:'/home/user/dir/file.txt'
- path.isAbsolute:判断是否为绝对路径
1 2
console.log(path.isAbsolute('/foo/bar'))//结果:true console.log(path.isAbsolute('C:/foo/..'))//结果:true
- path.join([…paths]):路径的拼接(..表示上层路径;.表示当前路径),在连接路径的时候回格式化路径
1
console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux', '..'))//结果:'/foo/bar/baz/asdf'
- path.normalize(path):规范化路径
1 2
console.log(path.normalize('/foo/bar//baz/asdf/quux/..'))//结果:'/foo/bar/baz/asdf' console.log(path.normalize('C:\\temp\\\\foo\\bar\\..\\'))//结果:'C:\\temp\\foo\\'