簡體   English   中英

如何在 NodeJs 中使用帶有 .env 文件的不同環境

[英]How to use different environments with `.env` files in NodeJs

我目前正在用 nodejs 構建后端。 我正在考慮如何給項目添加環境配置。 我的想法是我有一個/config文件夾,其中有我的envparser.ts (必須為此考慮一個更好的名稱 ^^),它解釋我的.env文件以將它們用作常規 javascript const。 通過在我的package.json中使用腳本,我希望能夠切換環境。 但我不知道如何使用 dotenv 在多個.env文件之間切換。

文件結構:

config/
   .env.development
   .env.production
   envparser.ts

腳本:

 yarn start yarn start -p/-production //Or a different Syntax to change envs

您可以使用dotenv package 訪問您的.env.*文件。


您可以使用 package.json 中的不同啟動命令更改NODE_ENV變量來在不同環境之間package.json

例如:

"scripts": {
    "start": "NODE_ENV=development nodemon index.js",
    "deploy": "NODE_ENV=production node index.js"
}

然后,你可以在你的 index.js 文件中訪問它們:

require('dotenv').config({ path: `.env.${process.env.NODE_ENV}` })

您可以在package.json的腳本部分中使用類似的內容

"start:dev": "node -r dotenv/config your_script.js dotenv_config_path=/custom/path/to/.env.development", 
"start:prod": "node -r dotenv/config your_script.js dotenv_config_path=/custom/path/to/.env.production"

通過運行npm run start:devDEV模式啟動服務器

通過運行npm run start:prodPROD模式啟動服務器

您可以在 package.json 的腳本部分中使用類似的內容

“dev”:“nodemon -r dotenv/config index.js”

https://i.stack.imgur.com/5Umge.png

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM