path.resolve和path.join的区别

在NodeJS中,得到真实路径有三种方式

  • 字符串直接拼接
  • require('path').join()
  • require('path').resolve()

下面测试后两者方式有什么区别。

// test.js
const path = require('path')
let x1 = path.resolve('/目录1/目录2', '/目录3/目录4/')
let x2 = path.join('/目录1/目录2', '/目录3/目录4/')
console.log(x1)
console.log(x2)

输出如下

# cmd-windows
node test.js

C:\目录3\目录4
 \目录1\目录2\目录3\目录4\
# wsl-linux
node test.js

/目录3/目录4 
/目录1/目录2/目录3/目录4/

由此可见,两个方法均会改变分界符,不同点是:join的功能是拼接,而resolve相当于连续执行多个cd命令,最后返回绝对路径

参考链接

posted @ 2020-09-09 12:53  oceans-pro  阅读(179)  评论(0编辑  收藏  举报