path路径操作

需要引入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', '..'))   //打印结果:\foo\bar\baz\asdf
console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux', '../..'))   //打印结果:\foo\bar\baz

//规范化路径
console.log(path.normalize('/foo/bar//baz/asdf/quux/..'));   //打印结果:\foo\bar\baz\asdf
console.log(path.normalize('C:\\temp\\\\///foo\\/bar\\..\\'));    //打印结果:C:\temp\foo\

//计算相对路径
console.log(path.relative('C:\\orandea\\test\\aaa', 'C:\\orandea\\impl\\bbb\\ccc'));   //打印结果:..\..\impl\bbb\ccc

//解析路径 :绝对路径直接以最后一个为准,相对路径先跳进一个目录,然后再跳出,再跳进下一个目录,依此类推

//两个特殊的属性:
console.log(path.delimiter);   //环境变量分隔符(Windows中使用;Linux中使用:)
console.log(path.sep);    //表示路径分隔符(Windows是\,Linux是/)

 

posted @ 2019-09-26 11:45  浮华夕颜  Views(801)  Comments(0Edit  收藏  举报