这是我参与更文挑战的第2天,活动详情查看: 更文挑战
文件路径处理模块 path
path模块是nodejs提供的进行文件路径处理的模块,他抹平了操作系统之间的差异,让我们可以在任意操作系统上生成对应的文件路径并处理。
最常用方法 resolve
path.resolve
是我们最常见到的文件路径处理方法,他主要负责生成绝对路径,像在webpack中我们经常看到path.resolve方法,具体使用说明如下, 接收多个参数,返回参数拼成的url,如果url不是一个绝对路径,会将当前文件所在目录和传入参数一起生成一个绝对路径,一般上搭配__dirname
使用,具体用例如下:
// 执行目录在当前文件上一层
const {resolve} = require('path');
console.log(resolve(__dirname, 'resolve.js')); // /Users/admin/study-every-day/20210609/resolve.js
console.log(resolve('resolve.js')) // /Users/admin/study-every-day/resolve.js
由上面的例子可知,__dirname
是当前文件所在目录绝对路径,且resolve返回的路径最后没有路径分隔符,也就是说一般上要读取某个文件时,我们使用这个方法
路径连接函数join
join和resolve不同的地方在于,join只是路径连接,他返回的路径基于传入参数绝对,如果传入的参数是绝对路径,那么他就是绝对路径,如果不是,则就是连接后的普通路径,具体如下:
const {join} = require('path');
console.log(join(__dirname, 'join.js')) // /Users/admin/coding/study-every-day/20210609/join.js
console.log(join('usr', 'local')) // usr/local
获取两个路径之间的相对关系 relative
path.relative
返回传入两个路径之间的相对关系,具体如下
const {relative} = require('path');
const from = '/usr/local/project/'
const to = '/usr/local/project/components/'
console.log(relative(from, to)) // components
判断当前路径是否是绝对路径 isAbsolute
path.isAbsolute
返回当前目录是否是绝对路径
console.log(isAbsolute(__dirname)); // true
console.log(isAbsolute('join')); // false
获取当前文件名称 basename
path.basename
获取当前文件的文件名称,包括后缀名,具体如下:
const {basename} = require('path');
console.log(basename(__dirname + '/basename.js')) // basename.js
获取当前文件后缀 extname
path.extname
获取当前文件的文件后缀,具体如下
const {basename, extname} = require('path');
console.log(extname(__dirname + '/basename.js')) // .js
获取当前系统路径分隔符
path.sep
为当前系统路径分隔符
总结
以上就是今天的全部内容了,欢迎大家点赞留言,或者提出自己想看的模块内容