path 模块提供了 操作路径
的功能,较为常用的几个 API:
API | 说明 |
---|---|
path.resolve | 拼接规范的绝对路径 常用 |
path.sep | 获取操作系统的路径分隔符 |
path.parse | 解析路径并返回对象 |
path.basename | 获取路径的基础名称 |
path.dirname | 获取路径的目录名 |
path.extname | 获得路径的扩展名 |
注意
path.resolve 的参数中要么不写 斜杠(/) ,要么 斜杠(/) 前加上 点(./xxx);只写 斜杠(/)该API会把 斜杠(/)后的内容当成绝对路径
console.log(path.resolve(__dirname, '/text.txt')); // d:\text.txt
console.log(path.resolve(__dirname, '/text.txt', './test.txt')); // d:\text.txt\test.txt
__dirname:用来动态获取当前文件模块所属目录的绝对路径
const path = require('path')
console.log(__dirname + '/text.txt'); // d:\web_study\code\03_Node.js\04_path模块\code/text.txt
// resolve 拼接规范的绝对路径
console.log(path.resolve(__dirname, './text.txt')); // d:\web_study\code\03_Node.js\04_path模块\code\text.txt
console.log(path.resolve(__dirname, 'text.txt')); // d:\web_study\code\03_Node.js\04_path模块\code\text.txt
// 注意!注意!注意!
console.log(path.resolve(__dirname, '/text.txt')); // d:\text.txt
console.log(path.resolve(__dirname, '/text.txt', './test.txt')); // d:\text.txt\test.txt
// sep 获取操作系统的路径分隔符
console.log(path.sep); // \
// parse 解析路径并返回对象
console.log(__filename); // d:\web_study\code\03_Node.js\04_path模块\code\01_path.js
let str = 'd:\\web_study\\code\\03_Node.js\\04_path模块\\code\\01_path.js'
console.log(path.parse(str));
/*
{
root: 'd:\\',
dir: 'd:\\web_study\\code\\03_Node.js\\04_path模块\\code',
base: '01_path.js',
ext: '.js',
name: '01_path'
}
*/
console.log(path.basename(str)); // 01_path.js
console.log(path.dirname(str)); // d:\web_study\code\03_Node.js\04_path模块\code
console.log(path.extname(str)); // .js