根据the docs,node.js的path.resolve
函数将传递的参数转换为绝对路径。但是,当我传递不存在的文件''
时,它返回当前的工作目录:
~$ node -v
v0.8.14
~$ node
> require('path').resolve('')
'/Users/perimosocordiae'
> require('fs').statSync('')
Error: ENOENT, no such file or directory ''
这是预期的行为吗?是否存在其他情况,当输入路径不存在时,“已解决”路径将存在,反之亦然?
答案 0 :(得分:1)
文档的其他部分说:
如果在使用所有
from
路径后仍未找到绝对路径,则也会使用当前工作目录。
和
正如文档所说,不需要存在不同的路径,也可能是文件。
path.resolve
可以被认为是一系列cd
命令 - 例如,如果我从from
开始会发生什么(或{{1}如果没有指定process.cwd()
,如示例所示)并使用from
中的字符串操纵该路径。