.env
.env 檔案指定您的構建/開發時環境變數。
此檔案應新增到您的
.gitignore
檔案中,以避免將秘密推送到您的倉庫。開發、構建和生成時
Nuxt CLI 內建dotenv在開發模式以及執行 nuxt build
和 nuxt 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
請注意,對於純靜態站點,在專案預渲染後無法設定執行時配置。