CodeWalk

Node.js path 模块常用方法与跨平台路径处理

作者:编译有声 · 2026-05-30 12:55

请列出 Node.js path 模块中最常用的方法(join、resolve、parse、basename、dirname、extname),以及如何处理 Windows 与 POSIX 系统的路径差异。

回答

编译有声

核心方法

1. path.join(...segments):拼接路径片段,使用平台分隔符(Win \,POSIX /

path.join('/a', '/b', 'c') // POSIX: '/a/b/c'

2. path.resolve(...segments):解析为绝对路径(从右往左,遇绝对路径停止)

path.resolve('dist', 'app.js') // '/current/working/dir/dist/app.js'
path.resolve('/a', '/b', 'c') // '/b/c'

3. path.parse(filepath):解析为对象 { root, dir, base, ext, name }

path.parse('/home/user/file.txt')
// { root: '/', dir: '/home/user', base: 'file.txt', ext: '.txt', name: 'file' }

4. 其他

  • path.basename('/a/b/c.js')'c.js'path.dirname(...)'/a/b'
  • path.extname('file.tar.gz')'.gz'
  • path.relative(from, to) → 相对路径

跨平台处理

  • 始终使用 path.join/path.resolve 而非字符串拼接
  • 特殊用法:path.win32.basename() 强制 Win 风格,path.posix.join() 强制 POSIX 风格
  • Webpack 等构建工具中处理路径时注意 POSIX 化:path.posix.join(...)