1

语境:

随着我的 Node.js 项目越来越大,对配置的需求也在增加。这个项目是我从“旧配置文件”(例如,a config.jsor config.json)切换到 dotenv ( .env) 文件来配置产品的第一个项目。

但是,使用的环境变量数量之多引发了一个问题。这些环境变量都与操作系统和网络配置有关,因此使用 dotenv 技术配置应用程序似乎是合理的。

问题:

假设已经设置了一个环境变量;那会弄乱配置。这方面的一个实际示例是,当您将项目上传到一些较大的(云)主机时:PORT机器的环境变量已设置,因此可能会覆盖默认值(参见下面的示例),或者您可能会使用的值预计。对于系统管理员来说,这些错误很难调试。

const PORT = process.env.PORT || 3000

如何处理这些陷阱?

现在的情况:

我目前正在[name of product]_[name of variable]用作我的环境变量的模板。感觉就像是 hack(还记得 JS 中的私有成员吗?),而且很可能有更好的解决方案可用。

我想到的第二个选项是.env通过设置产品中使用的所有变量在文件中非常明确。然而,这里的可靠性似乎是一个弱点:如果有人要删除一个设置,整个“防御机制”就会消失,产品再次容易受到这些错误的攻击。

4

0 回答 0