1. path.join 相当于字符串的拼接 会将路径用 \ 拼接起来
const path = require('path')
console.log(path.join('D:/c','a/b')) //D:\c\a\b
console.log(path.join('D:/c','.a/b')) //D:\c\.a\b
console.log(path.join('D:/c','..a/b')) //D:\c\..a\b
console.log(path.join('D:/c','./a/b')) //D:\c\a\b
console.log(path.join('D:/c','/a/b')) //D:\c\a\b
console.log(path.join('D:/c','../a/b')) //D:\a\b
2. path.resolve 相当于cd操作
/ 被解析为根目录 ./ 当前 ../上级
比如你在
D:\a\b > cd c ==> D:\a\b\c 前提是D:\a\b\下有c
D:\a\b > cd /c ==> D:\c 前提是D:\下有c
const path = require('path')
console.log(path.resolve('D:/c','a/b')) //D:\c\a\b
console.log(path.resolve('D:/c','.a/b')) //D:\c\.a\b
console.log(path.resolve('D:/c','..a/b')) //D:\c\..a\b
console.log(path.resolve('D:/c','./a/b')) //D:\c\a\b
console.log(path.resolve('D:/c','/a/b')) //D:\a\b
console.log(path.resolve('D:/c/d','../a/b')) //D:\c\a\b