官方解釋
- __dirname:當前模塊的目錄名。 相當于
__filename
的path.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
打印的是有區別的