参考文档https://nodejs.org/dist/latest-v14.x/docs/api/path.html#path_path_delimiter
var path = require('path'); console.log(path.basename('/foo/bar/baz/asdf/quux.html')); // quux.html // 获取文件执行路径 console.log(__dirname); // D:UserspeiyuliPycharmProjectsuntitledsrcjs // 获取文件执行路径 + 文件名称 console.log(__filename); // D:UserspeiyuliPycharmProjectsuntitledsrcjs 4.js // 获取文件执行路径 console.log(path.dirname('/foo/bar/baz/asdf/quux')); // /foo/bar/baz/asdf // 获取文件扩展名称 console.log(path.extname('index.html')); // .html // 路径的格式化处理 // path.format(); obj -> string // path.parse(); string -> obj var obj = path.parse(__filename); console.log(obj); // 执行结果 // { // root: 'D:\', 文件的根路径 // dir: 'D:\Users\peiyuli\PycharmProjects\untitled\src\js', 文件的全路径 // base: '04.js', 文件名称 // ext: '.js', 扩展名 // name: '04' 文件名称 // } var objpath1 = { root: 'D:\', base: '04.js', ext: '.js', name: '04' }; console.log(path.format(objpath1)); // D: 4.js var objpath2 = { root: 'D:\', dir: '\PycharmProjects\untitled\src\js', base: '04.js', ext: '.js', name: '04' }; console.log(path.format(objpath2)); // PycharmProjectsuntitledsrcjs 4.js // 判断是否为绝对路径 console.log(path.isAbsolute('C:\foo\..')); // true console.log(path.isAbsolute('C:/foo/..')); // true // 拼接路径 在拼接路径的时候会格式化路径 .表示当前路径 ..表示上一层路径 console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux', '..')); // /foo/bar/baz/asdf // 规范化路径 .表示当前路径 ..表示上一层路径 console.log(path.normalize('/foo/bar//baz/asdf/quux/..')); // Linux下规范路径 /foo/bar/baz/asdf console.log(path.normalize('C:\temp\\\foo\bar\..\')); // windows下规范路径 C:\temp\foo\ // 计算两个路径的相对路径 console.log(path.relative('C:\orandea\test\aaa', 'C:\orandea\impl\bbb')); // ..\..\impl\bbb // 解析路径 cd console.log(path.resolve('/foo/bar', '/tmp/file/')); // /tmp/file (因为这两个都是根路径,先进入第一个路径,再进到第二个路径下,最后结果是第二个路径) console.log(path.resolve('/foo/bar', './baz')); // /foo/bar/baz (./表示当前路径) // wwwroot 表示相对路径,以当前路径为参考点,先进入wwwroot中 console.log(path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif')); // D:UserspeiyuliPycharmProjectsuntitledsrcjswwwrootstatic_filesgifimage.gif //path.delimiter 路径分隔符 console.log(path.delimiter); // windows中返回; Linux返回 : // path.sep 环境变量分隔符 console.log(path.sep); // windows返回 Linux返回 / console.log('foo\bar\baz'.split(path.sep)); // ['foo', 'bar', 'baz']