process.env 变量与 .env 配置中的值不同

process.env variables not the same value as in .env config

在最近的一个nodejs项目中,我遇到了一个很奇怪的现象:我在我的.env文件中设置了HOSTNAME变量,当它被包含在.js文件中时,HOSTNAME值与那个不同在 .env 中为什么

--

情况

.env

HOSTNAME=foo.bar.com

server.js

require('dotenv').config();
console.log("Hostname: ", process.env.HOSTNAME);

控制台输出

Hostname: foo

预期控制台输出

Hostname: foo.bar.com

--

调试

我已通过重命名为 _HOSTNAME 解决了这个问题,但我想知道为什么会发生这种情况,以及是否还有其他 .env 变量名称可能会受到这种奇怪事件的影响

dotenv npm 库跳过主机中已经设置的变量environment.You 可以在官方文档中找到有关覆盖现有系统变量的更多信息。

https://github.com/motdotla/dotenv#what-happens-to-environment-variables-that-were-already-set