实际上,我有一个nodejs express应用程序,其配置文件用于诸如主机,端口,JWT令牌,DB参数等参数。
问题是,是否有可能将这些参数直接保留在环境变量中(删除任何配置文件)并访问它们,而无需对所有组件和模块进行“要求”配置。
我看到的所有示例都使用一个配置文件,可能与安全性或内存有关?
答案 0 :(得分:3)
使用配置文件,您可以非常快速地设置计算机的整个环境-例如S3存储桶,API url,访问密钥等。如果将它们分成单独的process.env.VARIABLE
,则需要分别设置每个...您可能会为其编写脚本...现在又有了一个环境文件!
要访问环境变量,您可以在nodejs代码中使用process.env.VARIABLE
(始终是字符串),只要在启动过程之前就已设置了变量即可。
答案 1 :(得分:2)
另一种可能性是在nodejs中使用 .env 文件。我认为您必须在应用程序中 npm install dotenv 。理想情况下,不同的实例(dev,prod ....)都有自己的.env文件,并且如果要访问环境变量,则不必每次都调用 require(“ dotenv”)。在app.js的最开始 i.e)中调用它,您就可以在任何子文件中访问环境变量。
答案 2 :(得分:2)
配置文件通常用于设置环境变量的默认值,
在编写测试用例时需要使用它,并且需要使用默认值或模拟值,
您还将把所有的env变量放在一个位置,这样可以更好地进行管理。
因此,如果您有环境变量x,
在配置文件中,您可以将其保留为
config.x = process.env.x || 'defaultVale或模拟值'