NodeJS 中 process.cwd 和 __dirname 的區別


NodeJS 是一個基於 Chrome 的 V8 引擎構建的 JavaScript 執行時環境。傳統上,JavaScript 用於在瀏覽器中執行,但藉助 Node.JS,我們可以在瀏覽器之外執行 JavaScript,例如伺服器、硬體裝置等。

process.cwd()

process 物件位於稱為 'global' 的全域性物件下。此方法提供有關 Node.js 當前程序的資訊。它還提供對相同程序的控制。cwd 指的是當前的工作目錄。因此,**process.cwd** 返回當前正在執行的程序的工作目錄。

__dirname

這是一個本地模組,它將返回當前模組的目錄名稱。它也是一個本地模組。

process.cwd__dirname
返回當前工作目錄的名稱。
返回包含原始碼檔案的目錄的名稱。
它是 Node 內部的全域性物件。
它是一個區域性物件。
它取決於呼叫的命令。
它取決於當前目錄。

process.cwd() 與 __dirname

示例 1 (index.js)

// Logging process.cwd() output
console.log("process.cwd(): ", process.cwd());

// Logging __dirname output
console.log("__dirname: ", __dirname);

輸出

C:\Users\tutorialsPoint\> node index.js.js
process.cwd(): /home/node/demo
__dirname: /home/node/demo

示例 2

使用以下資料夾結構建立以下檔案

-- src/
   --index.js
   --src2/
      --index2.js

程式碼片段 (index.js)

// Read and execute the index2.js file
require('./sub1/index2.js')

程式碼片段 (index2.js)

// Logging process.cwd() output
console.log("process.cwd(): ", process.cwd());

// Logging __dirname output
console.log("__dirname: ", __dirname);

使用以下命令執行 index2.js 檔案。

   node index2.js

輸出

process cwd: C:\src
__dirname: C:\src\src2

以上輸出顯示檔案 index2.js 的目錄位於 src/src2,而當前 Node 程序正在 src/ 資料夾中執行。

更新於: 2021年4月27日

458 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.