如何在开发和生产中设置 dotenv?
how to setup dotenv in development and production?
在我的 Express JS API 服务器中,我尝试将 dotenv 与 .env
文件一起用于我的环境设置。
我更喜欢将 .env
文件用于开发和生产环境。
我正在使用 nodemon 进行开发,目前如果我在 package.json 中包含 -r dotenv/config
> 启动脚本:
"scripts": {
"start": "nodemon --exec babel-node -r dotenv/config index.js"
}
在应用程序的任何地方process.env
变量设置正确
但是,如果我像这样使用脚本在 index.js
中配置 dotenv:
import dotenv from 'dotenv'
// Environment variables
dotenv.config()
似乎 process.env
仅在 index.js 页面中配置,我无法在我的中间件逻辑中获取 process.env
变量?
我已经把 dotenv.config()
在中间件执行之前的最开始执行了
我的问题是:
1. 我使用 dotenv.config()
的逻辑设置不正确吗?为什么我的中间件不能得到相同的变量?
2. 如何为开发和生产设置从 .env
文件读取的 process.env
变量? (我可能会使用 webpack 来打包我的生产版本)
感谢您的帮助。
您可能在 dotenv.config()
行之前还有其他 import
语句,这些模块将无法访问已配置的环境变量
而不是
import dotenv from 'dotenv'
dotenv.config()
你可以使用
import 'dotenv/config'
或使用以下命令启动您的应用程序,类似于您设置开发环境的方式。如果您在 build
目录中有转译的输出:
node --require dotenv/config build/index.js
参考:
https://www.npmjs.com/package/dotenv#how-do-i-use-dotenv-with-import-
在我的 Express JS API 服务器中,我尝试将 dotenv 与 .env
文件一起用于我的环境设置。
我更喜欢将 .env
文件用于开发和生产环境。
我正在使用 nodemon 进行开发,目前如果我在 package.json 中包含 -r dotenv/config
> 启动脚本:
"scripts": {
"start": "nodemon --exec babel-node -r dotenv/config index.js"
}
在应用程序的任何地方process.env
变量设置正确
但是,如果我像这样使用脚本在 index.js
中配置 dotenv:
import dotenv from 'dotenv'
// Environment variables
dotenv.config()
似乎 process.env
仅在 index.js 页面中配置,我无法在我的中间件逻辑中获取 process.env
变量?
我已经把 dotenv.config()
在中间件执行之前的最开始执行了
我的问题是:
1. 我使用 dotenv.config()
的逻辑设置不正确吗?为什么我的中间件不能得到相同的变量?
2. 如何为开发和生产设置从 .env
文件读取的 process.env
变量? (我可能会使用 webpack 来打包我的生产版本)
感谢您的帮助。
您可能在 dotenv.config()
行之前还有其他 import
语句,这些模块将无法访问已配置的环境变量
而不是
import dotenv from 'dotenv'
dotenv.config()
你可以使用
import 'dotenv/config'
或使用以下命令启动您的应用程序,类似于您设置开发环境的方式。如果您在 build
目录中有转译的输出:
node --require dotenv/config build/index.js
参考:
https://www.npmjs.com/package/dotenv#how-do-i-use-dotenv-with-import-