NodeJs之path模块
在NodeJs中,path模块是一个提供了一些用于处理文件和目录路径的工具。本文将介绍path模块的一些常用方法和属性,以及它们的用法和效果。
| API | 说明 |
|---|---|
| path.resolve | 拼接规范的绝对路径 |
| path.sep | 获取操作系统的路径分隔符 |
| path.parse | 解析路径并返回对象 |
| path.basename | 获取路径的基础名称 |
| path.dirname | 获取路径的目录名 |
| path.extname | 获得路径的扩展名 |
1. path.sep
path.sep属性返回平台特定的路径分隔符。在Windows系统中,它是反斜杠\,在POSIX系统中,它是正斜杠/。
const path=require('path')
//获取路径分隔符
console.log(path.sep); //在Windows系统中打印\
2. path.resolve(...paths)
path.resolve方法接受任意数量的路径参数,并返回一个绝对路径。它会从右到左依次拼接参数,并在必要时添加当前工作目录。如果最后生成的路径不是绝对路径,那么会加上当前工作目录。例如:
const path=require('path')
// 拼接绝对路径 resolve解决
console.log("__dirname:",__dirname)//__dirname: D:\my-document\nodejs_study
console.log(path.resolve(__dirname,"18.path模块.js")) //打印D:\my-document\nodejs_study\18.path模块.js
3. path.parse(path)
path.parse方法接受一个路径字符串作为参数,并返回一个对象,包含了路径的各个部分。例如:
const path=require('path')
//全局路径
let str="D:/my-document/nodeJs_study/18.path模块.js"
console.log(path.parse(str)); //打印{ root: 'D:/', dir: 'D:/my-document/nodeJs_study', base: '18.path模块.js', ext: '.js', name: '18.path' }
4. path.basename(path[, ext])
path.basename方法接受一个路径字符串作为参数,并返回一个字符串,表示路径的最后一部分。也就是说,它会忽略路径中的目录部分,只保留文件名部分。如果提供了可选的第二个参数ext,那么会去掉文件名中的扩展名。例如:
const path=require('path')
//获取路径的基本名称
console.log(path.basename(str)); //打印18.path模块.js
console.log(path.basename(str, '.js')); //打印18.path模块
5. path.dirname(path)
path.dirname方法接受一个路径字符串作为参数,并返回一个字符串,表示路径的目录部分。也就是说,它会忽略路径中的文件名部分,只保留目录部分。例如:
const path=require('path')
//获取路径的目录名
console.log(path.dirname(str)); //打印D:/my-document/nodeJs_study
6. path.extname(path)
path.extname方法接受一个路径字符串作为参数,并返回一个字符串,表示路径的扩展名部分。也就是说,它会从最后一个.开始截取字符串,直到字符串结束。如果没有.或者.是第一个字符,那么会返回空字符串。例如:
const path=require('path')
//获得路径的扩展名
console.log(path.extname(str)); //打印.js