join只会帮你把路径连接起来,而resolve会以当前路径为父路径来把你提供的路径连接起来

    1. const path = require('path')
    2. let p1 = path.join('a', 'b/c')
    3. let p2 = path.join('a', '/b/c')
    4. let p3 = path.join('a', './b/c')
    5. let p4 = path.resolve('a', 'b/c')
    6. let p5 = path.resolve('a', '/b/c')
    7. let p6 = path.resolve('a', './b/c')
    8. console.log('join', __dirname)
    9. console.log(p1)
    10. console.log(p2)
    11. console.log(p3)
    12. console.log('resolve')
    13. console.log(p4)
    14. console.log(p5)
    15. console.log(p6)

    output:

    1. join /Users/yanqi/code/dev/cps/report-pretreat/test
    2. a/b/c
    3. a/b/c
    4. a/b/c
    5. resolve
    6. /Users/yanqi/code/dev/cps/report-pretreat/a/b/c
    7. /b/c
    8. /Users/yanqi/code/dev/cps/report-pretreat/a/b/c