如何使用 Node.js 的 path 模块来处理文件路径?
(1)path 模块概述
path 模块是 Node.js 内置模块,提供了处理和转换文件路径的实用工具,可解决不同操作系统路径分隔符不同等问题。
(2)不同操作系统路径差异
Windows 使用反斜杠 \ 作为路径分隔符,而 Unix-like 系统(如 Linux、macOS)使用正斜杠 /。path 模块能自动处理这些差异。
path.parse() 方法将路径解析为一个对象,包含根目录、目录名、文件名、扩展名等信息。
path.resolve vs path.join 的区别
path.resolve()方法将路径或路径片段的序列解析为绝对路径。给定的路径序列会从右到左进行处理,后面的每个 path 会被追加到前面,直到构造出绝对路径。path.join()方法会将所有给定的 path 片段连接到一起(使用平台特定的分隔符作为定界符),然后规范化生成的路径。
来源整理自:vue3js.cn 面试官系列
补充
补充:常用 API 与示例。
const path = require('node:path');
// path.parse / path.format:路径与对象互转
const parsed = path.parse('/foo/bar/index.js');
// { root: '/', dir: '/foo/bar', base: 'index.js', ext: '.js', name: 'index' }
// path.join:拼接并自动规范化,保留相对路径
path.join('/foo', 'bar', 'baz/../qux'); // '/foo/bar/qux'(不解析为绝对路径)
// path.resolve:从右向左拼接,遇到绝对路径即停,未传参时返回当前工作目录
path.resolve('a', '/b', 'c'); // '/b/c'
path.resolve(); // process.cwd()
// __dirname 与 path 配合:构造跨平台文件路径
const filePath = path.join(__dirname, 'config', 'app.json');
实践建议:
- 业务代码中所有路径操作都应通过
path模块,避免直接拼接/或\。 - ESM 中同样可以用
import path from 'node:path'。



