path 用于文件路径操作
官方文档
一个不错的解释
┌─────────────────────┬────────────┐
│ dir │ base │
├──────┬ ├──────┬─────┤
│ root │ │ name │ ext │
" / home/user/dir / file .txt "
└──────┴──────────────┴──────┴─────┘
示例
js
const path = require('path')
const filename = '/user/bin/file.js'
// 判断 path 是否为绝对路径
console.log(path.isAbsolute(filename))
// true
// 解析文件路径
console.log(path.parse(filename))
// {
// root: '/',
// dir: '/user/bin',
// base: 'file.js',
// ext: '.js',
// name: 'file'
// }
// 转为字符串
console.log(
path.format({
root: '/',
dir: '/user/bin',
base: 'file.js',
ext: '.js',
name: 'file',
})
)
// /user/bin/file.js
// 获取文件名
// 返回文件类型
console.log(path.basename(filename))
// file.js
// 不返回文件类型
console.log(path.basename(filename, '.js'))
// file
// 获取目录层级
console.log(path.dirname(filename))
// /user/bin
// 获取扩展名
console.log(path.extname(filename))
// .js
// 连接路径
console.log(path.join('dir1', 'dir2', 'file.js'));
// dir1/dir2/file.js
// 将路径进行标准化
console.log(path.normalize('dir1/dir2/../file.js'));
// dir1/file.js
// 返回相对路径
console.log(path.relative('dir1/dir2', 'file.js'))
// ../../file.js
// 返回绝对路径
console.log(path.resolve('dir1', 'dir2', 'file.js'))
// /Users/tom/workspace/dir1/dir2/file.js
// 路径分隔符
console.log(path.sep);
// /
参考文章
node之Path介绍