一、dirname
作用:动态获取当前文件夹的绝对路径
二、filename
作用:动态获取当前文件的绝对路径
三、path.join([path1][, path2][, ...])
作用:用于连接路径。该方法的主要用途在于,会正确使用当前系统的路径分隔符,Unix系统是"/",Windows系统是""。
const path = require("path");
let filePath = path.join(__dirname,'/file/index.html');
let filePath1 = path.join(__dirname,'./file/index.html');
let filePath2 = path.join('/aa','bb','cc/dd','ss','..');
console.log(__filename);
console.log(__dirname);
console.log(filePath);
console.log(filePath1);
console.log(filePath2);
打印如下:
192:reactdemo wcq$ node main.js
/Users/wcq/Documents/reactdemo/main.js
/Users/wcq/Documents/reactdemo
/Users/wcq/Documents/reactdemo/file/index.html
/Users/wcq/Documents/reactdemo/file/index.html
/aa/bb/cc/dd
四、path.resolve([from ...], to)
作用:将 to 参数解析为绝对路径,给定的路径的序列是从右往左被处理的,后面每个 path 被依次解析,直到构造完成一个绝对路径。 例如,给定的路径片段的序列为:/foo、/bar、baz,则调用 path.resolve('/foo', '/bar', 'baz') 会返回 /bar/baz。
let path1 = path.resolve(__dirname,'/file/index.html');
let path2 = path.resolve(__dirname,'./file/index.html');
let path3 = path.resolve('/aa/bb','./cc');
let path4 = path.resolve('/aa/bb','/cc');
console.log(path1);
console.log(path2);
console.log(path3);
console.log(path4);
打印如下内容:
192:reactdemo wcq$ node main.js
/file/index.html
/Users/wcq/Documents/reactdemo/file/index.html
/aa/bb/cc
/cc