安装
npm install path
使用
var path = require(‘path’);
1、path.dirname() :获取目录
2、path.basename() :获取文件名.扩展名(我们统称为全名)
3、path.extname() : 获取扩展名
4、path.parse() : 将一个路径转换成一个js对象
5、path.format() :将一个js对象转换成路径
6、join() : 拼接多个路径成一个路径
7、path.resolve() :将相对路径转为绝对路径
__dirname: 总是返回被执行的 js 所在文件夹的绝对路径??
__filename: 总是返回被执行的 js 的绝对路径 ???
从路径中获取信息:`
dirname: 获取文件的父文件夹。basename: 获取文件名部分。extname: 获取文件的扩展名。
1.
const notes = ‘/users/joe/notes.txt’
path.dirname(notes) // /users/joe
path.basename(notes) // notes.txt
path.extname(notes) // .txt
为 basename 指定第二个参数来获取不带扩展名的文件名:
path.basename(notes, path.extname(notes)) //notes
2.
a.path.join()
使用路径:path.join() 连接路径的两个或多个片段(中间值用逗号隔开即可,会拼接起来)
const name = ‘joe’
path.join(‘/’, ‘users’, name, ‘notes.txt’) // ‘/users/joe/notes.txt’
path.resolve() :获取文件的绝对路径
使用 path.resolve() 获得相对路径文件的绝对路径并返回对应值的字符串形式:
path.resolve(‘joe.txt’) //‘/Users/joe/joe.txt’ 如果从主文件夹运行。
window中:当前目录文件http.js
path.resolve(‘http.js’) : ‘E:\前端目录\javascript面试demo\node\http.js’
指定第二个文件夹参数,则 resolve 会使用第一个作为第二个的基础:
path.resolve(‘dist’,‘http.js’):只是名义上在文件前面插入了一个路径,不会复制和转移该文件到对应路径: ‘E:\前端目录\javascript面试demo\node\dist\http.js’
如果第一个参数以斜杠开头,则表示它是绝对路径:(中间的部分会自动找到,如果无就为空)
path.resolve(‘E:’, ‘joe.txt’) // “E:\前端目录\javascript面试demo\node\joe.txt”
**
实际开发中通常这样写:来获取当前文件的绝对路径
**
console.log(path.resolve(__dirname,‘b.txt’)) // e:\前端目录\javascript面试demo\node\b.txt
// 这样子写不论哪个用户使用该项目都可以获取到其文件的所在路径
console.log(path.resolve(__dirname)) // e:\前端目录\javascript面试demo\node
// 获取到当前文件的前置目录
path.normalize():对于. … // 等相对说明符会尝试获取其实际的路径
path.normalize(‘/users/joe/…//test.txt’) ///users/test.txt
原文链接:https://blog.csdn.net/COCOLI_BK/article/details/109182793`