2012-11-29 19 views
0

根據the docs,node.js的path.resolve函數將傳遞的參數轉換爲絕對路徑。然而,當我將它傳遞了不存在的文件'',它返回當前的工作目錄:爲什麼node.js將空字符串解析爲當前工作目錄?

~$ node -v 
v0.8.14 
~$ node 
> require('path').resolve('') 
'/Users/perimosocordiae' 
> require('fs').statSync('') 
Error: ENOENT, no such file or directory '' 

這是預期的行爲?在輸入路徑不存在的情況下是否存在其他「已解決」路徑的情況,反之亦然?

回答

1

文檔的其他部分說:

如果發現使用所有from路徑仍然沒有絕對路徑後,當前工作目錄使用。

不同的路徑不需要存在,也可以是文件。 (在你的榜樣或process.cwd()如果沒有指定from,如),例如,如果我開始在from會發生什麼 -

path.resolve可以認爲,作爲文檔,比方說,作爲一系列cd命令並用to中的字符串處理該路徑。