如何從 Node.js 讀取環境變數
Node.js 的 process
核心模組提供了 env
屬性,其中包含了在啟動進程時設置的所有環境變數。
下面的程式碼運行 app.js
並設置了 USER_ID
和 USER_KEY
。
USER_ID=239482 USER_KEY=foobar node app.js
這將傳遞使用者 USER_ID
為 239482,以及 USER_KEY
為 foobar。這適用於測試,但是在生產環境中,您可能會配置一些 bash 腳本來導出變量。
注意:
process
不需要 "require",它會自動可用。
這裡有一個示例,可以訪問我們在上面代碼中設置的 USER_ID
和 USER_KEY
環境變量。
process.env.USER_ID; // "239482"
process.env.USER_KEY; // "foobar"
以相同的方式,您可以存取您設定的任何自定義環境變數。
Node.js 20 引入了對 實驗性 .env 檔案的支援。
現在,您可以在執行 Node.js 應用程式時使用 --env-file
標誌來指定一個環境檔案。以下是一個 .env
檔案的範例以及如何使用 process.env
存取其變數。
# .env file
PORT=3000
在您的 js 檔案中
process.env.PORT; // "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
注意:如果在環境和檔案中定義了相同的變數,則環境中的值優先。