文章目录
- 🌟前言
- 🌟path模块
- 🌟引用模块
- 🌟常用属性
- 🌟path.sep
- 🌟在MacOSX、 Unix、Linux操作系统上:
- 🌟在 Windows 上:
- 🌟常用方法
- 🌟将路径转换为对象格式
- 🌟将Linux系统的路径字符串转换为对象格式:
- 🌟写在最后
🌟前言
哈喽小伙伴们,新的专栏 Node 已开启;这个专栏里边会收录一些Node的基础知识和项目实战;今天我们带领大家初识一下 Node内置模块 path模块
;让我们一起来看看吧🤘
🌟path模块
path 模块主要为了更加方便的处理文件和目录的路径。
path
模块根据 node
应用程序所在的系统环境不同而呈现不同的默认操作。像在 Windows
操作系统中,path
模块会根据 Windows
的路径规范来操作,因此在开发过程中,如果需要操作路径必须通过path模块来处理路径避免切换平台出现错误。
🌟引用模块
可以通过以下方式引入
path模块
:
const path = require("path")
🌟常用属性
属性 | 描述 |
---|---|
path.sep | 获取平台文件的路径分隔符,windows为反斜杠’’ 或 Unix为正斜杠’/'。 |
path.delimiter | 获取提供平台特定PATH环境变量的路径分隔符 windows为’;‘、Unix为’:'。 |
🌟path.sep
🌟在MacOSX、 Unix、Linux操作系统上:
'foo/bar/baz'.split(path.sep);
// 返回: ['foo', 'bar', 'baz']
🌟在 Windows 上:
'foo\\bar\\baz'.split(path.sep);
// 返回: ['foo', 'bar', 'baz']
注意:操作系统不同路径表现形式也不同。在 Unix
、Linux
系统上,路径分隔符为 ‘/’,在 Microsoft Windows
系统上,路径分隔符为 ‘\’。
🌟常用方法
方法 | 描述 |
---|---|
path.normalize(path) | 规范化路径,注意’…’ 和 ‘.’ |
path.join([path1][, path2][, …]) | 用于连接路径。该方法会正确使用当前系统的路径分隔符,Unix系统是"/“,Windows系统是”"。 |
`path.resolve([…paths]) | 将路径解析为绝对路径。 |
path.isAbsolute(path) | 判断参数 path 是否是绝对路径。 |
path.relative(from, to) | 用于将路径转为相对路径。 |
path.dirname(path) | 返回路径中代表文件夹的部分 |
path.basename(path[, ext]) | 返回路径中的文件名 |
path.extname(path) | 返回路径中文件的扩展名,即路径中最后一个’.'之后的部分 |
path.parse(pathString) | 返回路径字符串的对象格式 |
path.format(pathObject) | 从对象中返回路径字符串( path.parse 相反) |
🌟将路径转换为对象格式
返回路径字符串的对象格式:
path.parse(pathString)
🌟将Linux系统的路径字符串转换为对象格式:
# Linux
path.parse('/home/user/dir/file.txt');
{
root: '/',
dir: '/home/user/dir',
base: 'file.txt',
ext: '.txt',
name: 'file'
}
┌─────────────────────┬────────────┐
│ dir │ base │
├──────┬ ├──────┬─────┤
│ root │ │ name │ ext │
" / home/user/dir / file .txt "
└──────┴──────────────┴──────┴─────┘
将Windows
系统的路径字符串转换为对象格式:
# Windows
path.parse('C:\\path\\dir\\file.txt');
{
root: 'C:\\',
dir: 'C:\\path\\dir',
base: 'file.txt',
ext: '.txt',
name: 'file'
}
┌─────────────────────┬────────────┐
│ dir │ base │
├──────┬ ├──────┬─────┤
│ root │ │ name │ ext │
" C:\ path\dir \ file .txt "
└──────┴──────────────┴──────┴─────┘
🌟写在最后
更多Node知识以及API请大家持续关注,尽请期待。各位小伙伴让我们 let’s be prepared at all times!
✨原创不易,还希望各位大佬支持一下!
👍 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!