愿你坚持不懈,努力进步,进阶成自己理想的人

—— 2017.09, 写给3年后的自己

path对象使用总结

path对象是NodeJS提供的一个十分方便于路径处理的模块

下面了解一下这个模块的用法,如下:

一、引入path对象

const path = require('path');


二、path对象的用法

1)路径格式化path.normalize()

这个方法可以帮助我们将一些不符合规范的路径,格式化为符合规范的路径,如:

path.normalize('/foo//bar///demo');
// 得到:/foo/bar/demo

2)路径合并path.join()

可以将所有的路径正确地合并起来,如:

path.join('foo/', 'bar/', '/demo');
// 得到:foo/bar/demo

注意:该方法会对合并后的路径进行normalize,成为合法的路径

3)路径巡航path.resolve()

这个方法相当于 在当前路径 不断地调用cd,最后调用pwd返回,如:

path.resolve('foo/bar', 'tmp/file/', '..', 'a/../subfile');
/*
相当于:
cd foo/bar      # 进入foo/bar
cd tmp/file/    # 进入foo/bar/tmp/file
cd ../          # 进入foo/bar/tmp
cd a/../subfile # 进入foo/bar/tmp/subfile
pwd             # 得到:当前路径/foo/bar/tmp/subfile
*/

4)计算相对路径path.relative(from, to)

计算路径from相对于路径to的相对位置字符串,如:

path.relative('/Users/RuphiLau/NodeJS', '/Uers/RuphiLau/Desktop/Javascript');
// 得到:../Desktop/Javascript

相对于就是from路径需要经过../Desktop/Javascript后才能到达to路径

5)文件夹名称path.dirname()

返回路径所在的文件夹的名称,如:

path.dirname('/foo/bar/demo.js');
// 得到:/foo/bar

6)获取文件名称、文件扩展名

可以使用path.basename()来获得一个文件的文件名,默认情况下,包含扩展名,如:

path.basename('/foo/bar/demo.js'); // 得到:demo.js

可以指定第二个参数来排除扩展名,如:

path.basename('/foo/bar/demo.js', '.js'); // 得到:demo

如果想要获得扩展名,可以使用path.extname(),如:

path.extname('/foo/bar/demo.js'); // 得到:.js

7)获取与平台相关的路径符号

可以使用path.sep获得与平台相关的路径分隔符,如Unix、Linux下是/,而windows下是\