1 、path.dirname(arg)

const path=require('path');

path.dirname('dist/js/a.js');
//返回  dist/js,当dirname的参数agr为文件时候,返回改文件的目录

path.dirname(path.resolve('a','b','d/e'));
//返回D:\demos\a\b\d 绝对路径参数时候,返回上层目录

path.dirname('a/b/c')
//返回 a/b 参数为相对路径时,返回上层目录

//path.dirname用于路径,其中参数为字符串,其为文件时,返回文件所在目录;其为目录时,返回上层目录

2 、 path.resolve(arg1,arg2,….)

const path=require('path');

path.resolve('a','b','c/d');
//返回D:\a\b\c\d ,path.resolve返回当前环境所在路径拼接参数字符串所得到的绝对路径,其中参数可以有多个

3 、 path.relative(argS,argE)

const path=require('path');

path.relative('a/b/c','a/d/e');
//返回 ..\..\d\e ,

path.relative('D:/A/B/C','B/D/E');
//返回 ..\D\E , 

path.relative('C:/A/B/C','D:/A/D/E');
//返回 D:\A\D\E ,

//path.relative(argS,argE)方法用于获取从argS进入argE的相对路径,当两个参数都为绝对路径,且不同盘时,返回参数areE

4 、 path.join(arg1,arg2,arg3…)

const path=require('path');

path.join('a','b');
//返回 a\b

path.join(__dirname,'c','main.js')
//返回 D:\c\main.js  ,__dirname表示当前运行环境绝对路径

//path.join()方法拼接路径,并返回该路径,结合__dirname可以达到path.resolve()方法同样的效果

5 、 path.normalize(arg)

path.normalize('./a/./b')
//返回 a\b ---规则1:路径转换会把./去掉

path.normalize('a/b/../c/d/..')
//返回 a\c ---规则2:转换路径遇到 ../ ,则会去除本身与父目录

path.normalize('a////b/d///')
//返回 a\b\d ---规则3:多个连着斜杠会被解析为单斜杠,若单斜杠结尾,则保留

//path.normalize()方法接收一个参数,即为被解析的路径字符串,将其转换为标准路径,标准路径转换规则如上所示。

6 、 paht.basename(arg1,arg2)

const path=require('path');

path.basename('a/b/a.min.js');
//返回a.min.js,当参数arg2为空时,返回参数arg1中全文件名


path.basename('a/b/main');
//返回main,当参数arg2为空时,且arg1位路径时,返回参数arg1中最底层路径

path.basename('a.js.map','map')
//返回a.js ,匹配参数arg2的扩展名,去除并返回文件名

path.basename('a.js.map','.js')
//返回a.js.map ,匹配参数arg2的扩展名,如果匹配不到该扩展名,则直接返回全文件名

//path.basename()方法就是返回路径中文件名字而已,arg2增加了一步匹配并去除扩展名

7 、 path.extname(arg)

path.extname('a.js')
//返回扩展名.js(注意,有点.)

path.extname('a.js.map')
//返回扩展名.map

path.extname()
//报错

path.extname('a')
//报错

//path.extname()方法,有一个必须参数,其必须带有扩展名,否则报错,正常,则返回所传参数扩展名

8 、 path模块其他属性/方法

path.sep //返回操作系统中文件分隔符; window是'\\', Unix是'/'

path.delimiter //返回操作系统中目录分隔符,如window是';', Unix中是':'

path.isAbsolute(path) //检测path是否为绝对路径。一个绝对路径会解析到相同的位置,无论是不是在工作目录。

path.parse(pathString) //返回路径字符串的对象。

path.format(pathObject) //从对象中返回路径字符串,和 path.parse 相反。

mtwzdx
8 声望0 粉丝