当前目录为D:\node
,以下为对比测试:
const path = require("path");
console.log(path.resolve("a")); //D:\node\a
console.log(path.join("a")); // a
console.log(path.resolve("/a")); //D:\a
console.log(path.join("/a")); //\a
console.log(path.resolve("/a",'b')); //D:\a\b
console.log(path.resolve("/a",'/b')); //D:\b
console.log(path.join("/a",'b')); //\a\b
console.log(path.join("/a",'/b')); //\a\b
console.log(path.resolve('a','b','/c','d')); //D:\c\d
console.log(path.resolve("a", "b", "/c", "/d")); //D:\d
console.log(path.resolve('a','..','b')) //D:\node\b
console.log(path.join('a','b','/c','d')); //a\b\c\d
console.log(path.join("a", "b", "/c", "/d")); //a\b\c\d
console.log(path.join('a','..','b')) //n
总结,path.resolve()
会把/
当做根目录,且以最后一个/
为根目录。
//前面写了再多的a,b,/c都没有用,以最后一个`/`为准,即/d
console.log(path.resolve("a", "b", "/c", "/d")); //D:\d