在nodejs中,运行一个nodejs脚本作为docker容器中的入口点,我发现process.env._未定义,我的代码引发了异常。如果使用bash作为入口点并运行相同的程序,则将定义该字段。

这是在节点v4.3.2上。它在节点0.10.x上作为入口点工作良好。

这两种情况的操作系统都是Ubuntu Wily。

是否保证不能定义此字段?我找不到关于此的规范。

真正的问题:我是否必须保护所有使用process.env字段的代码?

最佳答案

process.env._引用名为_的环境变量

如果未设置环境变量,那么它将是未定义的。

如果可以保证设置了环境变量,则不需要任何防护措施。

如果您不能保证已设置,则可以提供默认值...

var myvar = process.env._ || "defaultValue";

关于node.js - 在某些情况下,为什么在某些版本的nodejs上未定义process.env._?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36651917/

10-16 18:15