Mas*_*dot 9 node.js typescript ecmascript-6 dotenv
我目前正在用nodejs构建一个后端。我正在考虑如何为项目添加环境配置。我的想法是,我有一个/config文件夹,其中有我的envparser.ts(必须为此考虑一个更好的名称^^),它将我的.env文件解释为将它们用作常规的 javascript const。通过在我的脚本中使用脚本,package.json我希望能够切换环境。但我不\xc2\xb4t知道如何.env使用dotenv在多个文件之间切换。
文件结构:
\nconfig/\n .env.development\n .env.production\n envparser.ts\nRun Code Online (Sandbox Code Playgroud)\n脚本:
\n\n\nRun Code Online (Sandbox Code Playgroud)\nyarn start\nyarn start -p/-production //Or a different Syntax to change envs\n
Him*_*ngh 16
您可以使用dotenv包来访问您的.env.*文件。
NODE_ENV您可以通过使用不同的启动命令更改变量来在不同的环境之间切换package.json
例如:
"scripts": {
"start": "NODE_ENV=development nodemon index.js",
"deploy": "NODE_ENV=production node index.js"
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以在 index.js 文件中访问它们,如下所示:
require('dotenv').config({ path: `.env.${process.env.NODE_ENV}` })
Run Code Online (Sandbox Code Playgroud)
您可以在脚本部分中添加类似的内容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"
Run Code Online (Sandbox Code Playgroud)
DEV通过运行以模式启动服务器npm run start:dev
PROD通过运行以模式启动服务器npm run start:prod
| 归档时间: |
|
| 查看次数: |
12317 次 |
| 最近记录: |