join只会帮你把路径连接起来,而resolve会以当前路径为父路径来把你提供的路径连接起来
const path = require('path')
let p1 = path.join('a', 'b/c')
let p2 = path.join('a', '/b/c')
let p3 = path.join('a', './b/c')
let p4 = path.resolve('a', 'b/c')
let p5 = path.resolve('a', '/b/c')
let p6 = path.resolve('a', './b/c')
console.log('join', __dirname)
console.log(p1)
console.log(p2)
console.log(p3)
console.log('resolve')
console.log(p4)
console.log(p5)
console.log(p6)
output:
join /Users/yanqi/code/dev/cps/report-pretreat/test
a/b/c
a/b/c
a/b/c
resolve
/Users/yanqi/code/dev/cps/report-pretreat/a/b/c
/b/c
/Users/yanqi/code/dev/cps/report-pretreat/a/b/c