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

被折叠的 条评论
为什么被折叠?



