path 模块
发表于:2026-09-08
字数统计:462 字
预计阅读2分钟
node:path模块提供跨平台处理文件系统路径的工具。它只处理路径字符串,不会访问文件系统或确认路径是否存在。
| API | 说明 |
|---|---|
path.resolve | 从右向左解析片段,返回规范化的绝对路径 |
path.join | 使用当前平台分隔符连接并规范化路径片段 |
path.sep | 获取当前平台的路径分隔符 |
path.parse | 把路径解析为 root、dir、base、name、ext 等字段 |
path.basename | 获取路径的最后一部分 |
path.dirname | 获取路径的目录部分 |
path.extname | 获取最后一部分中的扩展名 |
代码示例:
js
const path = require("node:path");
// 字符串拼接可能混用分隔符;Node.js 经常仍能识别,但不利于跨平台和规范化
console.log(__dirname + "/index.html");
console.log(path.resolve(__dirname, "./index.html"));
console.log(path.resolve(__dirname, "index.html"));
// 上面两个调用的结果相同,此处 ./ 不是必需的
// resolve 遇到绝对路径片段后,会丢弃它左侧已经解析的片段
console.log(path.resolve(__dirname, "/index.html", "./test"));
// 若想始终在 __dirname 下组合相对片段,可使用 join,并避免片段表达其他盘符
console.log(path.join(__dirname, "index.html", "test"));
// Windows 通常为反斜线,POSIX 系统为正斜线
console.log(path.sep);
// CommonJS 包装器按模块提供 __filename;它不是 globalThis 属性,ESM 中也不存在
console.log(__filename);
const filePath = "D:\\Desktop\\Node\\code\\04-path\\01-path.js";
console.log(path.parse(filePath));
console.log(path.basename(filePath));
console.log(path.dirname(filePath));
console.log(path.extname(filePath));path 默认采用当前操作系统的路径规则。需要在任意系统上明确处理 Windows 或 POSIX 格式时,可以分别使用 path.win32 或 path.posix。
parse 方法返回结果:

