如何從 Node.js 讀取環境變數

Node.js 的 process 核心模組提供了 env 屬性,該屬性包含了程序啟動時設定的所有環境變數。

以下程式碼執行 app.js 並設定了 USER_IDUSER_KEY

USER_ID=239482 USER_KEY=foobar node app.js

這將把 USER_ID 作為 239482USER_KEY 作為 foobar 傳入。這適合測試,但對於生產環境,你可能需要配置一些 bash 指令碼來匯出變數。

注意:process 不需要被匯入,它是 Node.js 中的一個全域性物件。

這是一個訪問我們在上面程式碼中設定的 USER_IDUSER_KEY 環境變數的示例。

.(..); // "239482"
.(..); // "foobar"

你可以用同樣的方式訪問你設定的任何自定義環境變數。

Node.js 20 引入了對 .env 檔案的實驗性支援

現在,你可以在執行 Node.js 應用程式時使用 --env-file 標誌來指定一個環境檔案。以下是一個 .env 檔案示例,以及如何使用 process.env 訪問其變數。

# .env file
PORT=3000

在你的 js 檔案中

.(..); // "3000"

使用在 .env 檔案中設定的環境變數執行 app.js 檔案。

node --env-file=.env app.js

此命令會載入 .env 檔案中的所有環境變數,使它們在應用程式中透過 process.env 可用。

此外,你還可以傳遞多個 --env-file 引數。後續檔案會覆蓋先前檔案中定義的已存在變數。

node --env-file=.env --env-file=.development.env app.js

注意:如果同一個變數在環境和檔案中都定義了,那麼環境中的值會優先。

如果你想可選地從 .env 檔案讀取,可以使用 --env-file-if-exists 標誌來避免在檔案不存在時丟擲錯誤。

node --env-file-if-exists=.env app.js
閱讀時間
1 分鐘
作者
貢獻
編輯此頁面