node 内置库 path resolve join 区别

本文深入探讨了Node.js中path模块的join和resolve方法的区别。通过具体实例,展示了如何使用这两个方法来处理文件路径,包括相对路径转换为绝对路径的过程。

join:将路径片段使用特定的分隔符(window:\)连接起来形成路径,并规范化生成的路径。若任意一个路径片段类型错误,会报错。

resolve:把一个路径或路径片段的序列解析为一个绝对路径。

 

我们在E盘下有个JS文件夹,JS文件夹下有两个文件夹build 和 dist , build文件夹下建立一个nodePathTest.js文件

nodePathTest.js 代码如下:

const path = require('path')
console.log(`dirname is: ${__dirname}`)

console.log(`/dist path is: ${path.resolve(__dirname, '/dist')}`)
console.log(`dist path is: ${path.resolve(__dirname, 'dist')}`)
console.log(`./dist path is: ${path.resolve(__dirname, './dist')}`)
console.log(`../dist path is: ${path.resolve(__dirname, '../dist')}`)

console.log(`dist join path is: ${path.join(path.resolve(__dirname, 'dist'), 'static')}`)
console.log(`../dist join path is: ${path.join(path.resolve(__dirname, '../dist'), 'static')}`)

console.log(`resolve: ${path.resolve('abc', 'def')}`)
console.log(`join: ${path.join('abc', 'def')}`)

打印如下:

dirname is: E:\JS\node\build
/dist path is: E:\dist
dist path is: E:\JS\node\build\dist
./dist path is: E:\JS\node\build\dist
../dist path is: E:\JS\node\dist
dist join path is: E:\JS\node\build\dist\static
../dist join path is: E:\JS\node\dist\static
resolve: E:\JS\node\build\abc\def
join: abc\def
 

从最后两行打印可以看到resolve和join的区别。resolve会生成一个绝对路径,但join不会。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值