1,path.dirname(arg)constpath=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,….)constpath=require('path');path.resolve('a','b','c/d');//返回D:\a\b\c\d,path.resolve返回当前环境所在路径的参数字符串拼接得到的绝对路径,其中参数可以有多个3、path。relative(argS,argE)constpath=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的相对路径,当两个参数都是绝对路径和不同的盘,返回参数是E4,path.join(arg1,arg2,arg3…)constpath=require('path');path.join('a','b');//返回a\bpath.join(__dirname,'c','main.js')//返回D:\c\main.js,__dirname表示当前运行环境的绝对路径//path.join()方法拼接path并返回路径,结合__dirname,可以实现path.resolve()方法效果相同5.path.normalize(arg)path.normalize('./a/./b')//returna\b---规则一:路径转换会把./从小路。normalize('a/b/../c/d/..')//返回a\c---规则二:当转换路径遇到../时,会移除自身和父目录path.normalize('a////b/d///')//返回a\b\d---规则3:多个连续的斜杠将被解析为单斜杠,如果单斜杠结束,则保留/的/path.normalize()方法接收一个参数,即解析后的路径字符串,并将其转换为标准路径。标准路径转换规则如上图6.paht.basename(arg1,arg2)constpath=require('path');path.basename('a/b/a.min.js');//返回a.min.js,当参数arg2为空时,返回参数arg1中的完整文件名path.basename('a/b/main');//返回main,当参数arg2为空且arg1为路径时,返回参数中的底层路径path.basenamearg1('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')//返回extension.js(注意,有点。)path.extname('a.js.map')//返回扩展名.mappath.extname()//报错path.extname('a')//报错//path.extname()方法有一个必填参数,必须有扩展名,否则为会报错,正常则全部返回扩展参数8,路径模块的其他属性/方法path.sep//返回操作系统中的文件分隔符;window为'\\',Unix为'/'path.delimiter//返回操作系统中的目录分隔符,例如window为';',在Unix中为':'path.isAbsolute(path)//检测路径是否为绝对路径。绝对路径将解析到相同的位置,无论是否在工作目录中。path.parse(pathString)//返回路径字符串的对象。path.format(pathObject)//从对象返回路径字符串,与path.parse相反。
