为什么node.js path.resolve空字符串到当前工作目录?

时间:2012-11-29 08:21:30

标签: node.js

根据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 ''

这是预期的行为吗?是否存在其他情况,当输入路径不存在时,“已解决”路径将存在,反之亦然?

1 个答案:

答案 0 :(得分:1)

文档的其他部分说:

  

如果在使用所有from路径后仍未找到绝对路径,则也会使用当前工作目录。

  

不需要存在不同的路径,也可能是文件。

正如文档所说,

path.resolve可以被认为是一系列cd命令 - 例如,如果我从from开始会发生什么(或{{1}如果没有指定process.cwd(),如示例所示)并使用from中的字符串操纵该路径。