path 模块只做字符串层面的路径计算,完全不访问磁盘。最常用的是 path.join 与 path.resolve:join 只是按平台分隔符拼接路径片段,resolve 则会把相对路径解析成以工作目录为基准的绝对路径。读取项目内文件时,__dirname 搭配 path.join 是最稳妥的跨平台写法。
常用方法还有 dirname 取目录部分、basename 取文件名、extname 取扩展名、parse 把路径拆成对象。在 Windows 下可以用 path.win32、在 POSIX 下用 path.posix 显式指定按哪种规则解析,处理跨平台打包路径时非常有用。
const path = require('path'); // 拼接当前文件目录下的配置文件(跨平台正确写法) const cfg = path.join(__dirname, 'config', 'app.json'); console.log(cfg); // Windows 上自动输出反斜杠 console.log(path.basename(cfg)); // app.json console.log(path.extname(cfg)); // .json console.log(path.dirname(cfg)); // .../config // 解析成绝对路径(基于运行时工作目录) console.log(path.resolve('src', 'index.js'));