__dirname和__filename和process.cwd()三者的區別

官方解釋
  • __dirname:當前模塊的目錄名。 相當于 __filenamepath.dirname()
  • __filename: 當前模塊的文件名。
  • process.cwd() :返回 Node.js 進程的當前工作目錄。

換成易懂的:
__dirname得到的是被執行的文件所在目錄的絕對路徑——文件所在目錄。
__filename得到是被執行文件的絕對路徑——文件路徑。
process.cwd()得到的是在哪個目錄執行的文件——工作目錄。

process.cwd()__dirname可能相同

在文件所在目錄運行test.js,結果如下圖:

test.js運行結果

從圖中可以看到process.cwd()__dirname的結果是一模一樣的。那它倆到底有啥區別,我們換個目錄來運行test.js,比如我們桌面來運行test.js;運行結果如下圖:

在Desktop目錄運行test.js的結果

此時可以看到process.cwd()__dirname打印的是有區別的

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。