.env

.env 檔案指定您的構建/開發時環境變數。
此檔案應新增到您的 .gitignore 檔案中,以避免將秘密推送到您的倉庫。

開發、構建和生成時

Nuxt CLI 內建dotenv在開發模式以及執行 nuxt buildnuxt generate 時提供支援。

除了任何程序環境變數之外,如果您在專案根目錄中有一個 .env 檔案,它將在開發、構建和生成時自動載入。在那裡設定的任何環境變數都可以在您的 nuxt.config 檔案和模組中訪問。

.env
MY_ENV_VARIABLE=hello
請注意,從 .env 中刪除變數或完全刪除 .env 檔案不會取消已設定的值。

自定義檔案

如果您想使用不同的檔案,例如使用 .env.local.env.production,您可以在使用 Nuxt CLI 時透過傳遞 --dotenv 標誌來實現。

終端
npx nuxt dev --dotenv .env.local

在開發模式下更新 .env 時,Nuxt 例項會自動重啟以將新值應用於 process.env

在您的應用程式程式碼中,您應該使用 執行時配置 而不是普通的環境變數。

生產環境

伺服器構建完成後,您負責在執行伺服器時設定環境變數。

您的 .env 檔案此時將不會被讀取。如何在不同的環境中實現這一點是不同的。

做出此設計決策是為了確保與各種部署環境的相容性,其中一些環境可能沒有可用的傳統檔案系統,例如無伺服器平臺或 Cloudflare Workers 等邊緣網路。

由於 .env 檔案在生產環境中不使用,您必須使用託管環境提供的工具和方法顯式設定環境變數。以下是一些常見的方法:

  • 您可以使用終端將環境變數作為引數傳遞
    $ DATABASE_HOST=mydatabaseconnectionstring node .output/server/index.mjs
  • 您可以在 shell 配置檔案中設定環境變數,例如 .bashrc.profile
  • 許多雲服務提供商,例如 Vercel、Netlify 和 AWS,透過其儀表板、CLI 工具或配置檔案提供設定環境變數的介面。
runtimeConfig不會在生產環境中獲取不以 NUXT_ 開頭的環境變數 (https://nuxtjs.tw/docs/4.x/guide/going-further/runtime-config#environment-variables).

生產環境預覽

為了本地生產預覽目的,我們建議使用 nuxt preview,因為使用此命令,.env 檔案將被載入到 process.env 中,以方便使用。請注意,此命令要求在包目錄中安裝依賴項。

或者您可以使用終端將環境變數作為引數傳遞。例如,在 Linux 或 macOS 上

終端
DATABASE_HOST=mydatabaseconnectionstring node .output/server/index.mjs

請注意,對於純靜態站點,在專案預渲染後無法設定執行時配置。

文件 > 4 X > 指南 > 深入 > 執行時配置中閱讀更多內容。
如果您想使用在構建時設定的環境變數,但不需要後續更新它們(或只需要在您的應用程式中進行響應式更新),那麼 appConfig 可能是更好的選擇。您可以在 nuxt.config 中(使用環境變數)和專案中的 ~/app.config.ts 檔案中定義 appConfig
請參閱 文件 > 4 X > 指南 > 目錄結構 > 應用程式配置 瞭解更多資訊。