官方解釋
- __dirname:當前模塊的目錄名。 相當于
__filename的path.dirname()。- __filename: 當前模塊的文件名。
- process.cwd() :返回 Node.js 進程的當前工作目錄。
換成易懂的:
__dirname得到的是被執(zhí)行的文件所在目錄的絕對路徑——文件所在目錄。
__filename得到是被執(zhí)行文件的絕對路徑——文件路徑。
process.cwd()得到的是在哪個目錄執(zhí)行的文件——工作目錄。
process.cwd()和__dirname可能相同
在文件所在目錄運行test.js,結果如下圖:

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

在Desktop目錄運行test.js的結果
此時可以看到
process.cwd()和__dirname打印的是有區(qū)別的