在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
命令,最后返回绝对路径。
参考链接