我在 Heroku (Node.js/Express Postgres) 上有一個應用程式,我想使用不同的資料庫進行生產和開發。我知道我應該process.env在代碼中使用變數而不是硬編碼值。我認為我不應該使用if代碼中的陳述句來檢查我的環境是生產環境還是本地開發環境。
對我來說,我應該在.env檔案中創建 1 個變數,然后我的服務器/環境應該自己選擇哪個選項是正確的。(我的意思是我應該在.env檔案中撰寫檢查運算子,或者有 2 個不同的.env檔案,然后 bash 腳本決定運行哪個。)所以問題是:
哪種方式最適合process.env.DATABASE_URL根據我當前作業的環境切換?
PS 也許這是一個愚蠢的問題,但我只是想了解。
uj5u.com熱心網友回復:
好的,我想我明白了。我的代碼有一行帶有環境變數,即process.env.DATABASE_URL.
內部.env檔案(這是由混帳忽略)我設定DATABASE_URL到my_local_database_connection在開發中使用它。當我將它推送到 Heroku 時,我config vars在 Heroku 內部使用,這意味著它從 Heroku 服務器上的配置變數“創建 .env 檔案”(或類似的東西),并在生產中使用該值。
此外,正如對我的問題發表評論的大人物所說,您可以以不同的方式設定環境變數,您的專案中不必有.env檔案,但這是一個方便的選擇。
所以在我的代碼中,prod 和 dev 只有 1 行。(主要思想是我對每個環境都有相同的 var 名稱)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/361263.html
