我想使用环境变量。不幸的是,我是一个没有经验的开发人员,很晚才决定在我的项目中实现这样的解决方案。
我试图注入环境变量,位于.env文件,所有的JS文件(不是所有的使用环境变量,但我认为这将是更快,更容易)。目前,我使用dotenv包,但它显然是一次在一个文件中工作。
我应该用标准的方式使用dotenv吗?也许有一个我不知道的漏洞,这就是为什么以这种方式使用环境变量非常不受欢迎的原因。
if (process.env.NODE_ENV !== 'production') {
require('dotenv').config();
}
4条答案
按热度按时间njthzxwz1#
就像前面提到的文件注解一样,您应该为ENV提供一个入口点。您不希望在每个文件中都使用
require('dotenv')
。相反,创建一个新文件(名为类似
environment.js
),位于utils或core文件夹中。然后在你的每个其他文件中,你可以将你的配置包含在一个漂亮的JSON对象中。
9q78igpj2#
你接受了第一条评论,但这不是正确的方式/答案。您可以在入口文件(index.js,server.js..)的最开始处包含
require('dotenv').config()
,您只需调用process.env.VARIABLE_NAME
就可以在应用程序中的任何位置获得process.env变量ttp71kqs3#
在下面的例子中,文件/config/db.config.js使用一些env变量,所以我需要在导入文件之前添加dotenv.config()行。
这是index.js文件
结论是在index.js的顶部添加dotenv配置行
j2datikz4#
你不需要在每个文件中都写require('dotenv ').config()。只需将其作为index.js或主文件中的顶部语句,在运行程序时首先执行。