Node.js path 模块常用方法与跨平台路径处理
请列出 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(...)