需要引入const path = require('path');
//获取路径的最后一部分 console.log(path.basename('C:\temp\myfile.html')); //打印结果:myfile.html console.log(path.basename('/foo/bar/baz/asdf/quux.html', '.html')); //打印结果:quux 去掉后缀文件类型 //获取路径 console.log(__dirname); //打印的是当前文件夹的路径 console.log(path.dirname('/foo/bar/baz/asdf/quux')); //打印结果:/foo/bar/baz/asdf,最后一个是文件,无论有无后缀名,打印结果都一样 //获取扩展名称 console.log(path.extname('index.js')); //打印结果:.js path.extname('index.coffee.md'); // 返回: '.md' path.extname('index.'); // 返回: '.' path.extname('index'); // 返回: '' path.extname('.index'); // 返回: '' path.extname('.index.md'); // 返回: '.md'
//路径的格式化处理 //path.format() :将对象转化成字符串 //path.parse() :将字符串转化成对象 //console.log(__filename); //打印结果是当前文件所在的路径(绝对路径) let obj = path.parse(__filename); console.log(obj); console.log(obj.root); //打印结果:E:
let objpath = { root : 'E:\', base : 'abc.txt', ext : '.txt', name : 'abc' }; let strpath = path.format(objpath); console.log(strpath); //打印结果:E:abc.txt
//判断是否为绝对路径 console.log(path.isAbsolute('/foo/bar')); //true console.log(path.isAbsolute('C:/foo/..')); //true
//拼接路径:..表示上层路径;。表示当前路径。在连接路径的时候会格式化路径 console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux', '..')) //打印结果:fooarazasdf console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux', '../..')) //打印结果:fooaraz //规范化路径 console.log(path.normalize('/foo/bar//baz/asdf/quux/..')); //打印结果:fooarazasdf console.log(path.normalize('C:\temp\\///foo\/bar\..\')); //打印结果:C: empfoo //计算相对路径 console.log(path.relative('C:\orandea\test\aaa', 'C:\orandea\impl\bbb\ccc')); //打印结果:....implbbccc //解析路径 :绝对路径直接以最后一个为准,相对路径先跳进一个目录,然后再跳出,再跳进下一个目录,依此类推 //两个特殊的属性: console.log(path.delimiter); //环境变量分隔符(Windows中使用;Linux中使用:) console.log(path.sep); //表示路径分隔符(Windows是,Linux是/)