我在服务器端渲染的节点上运行了一个React应用。
在我的测试环境中,以下环境变量通过kubernetes设置为test
:{>
当我运行以下两个命令时,它们会给出不同的结果。我希望该值始终为process.env.NODE_ENV
。
test
不知何故,看起来该变量首先被解释为log.debug(process.env.NODE_ENV) // logs development
log.debug(eval('process.env.NODE_ENV')) // logs test
(如果未定义,在我的代码中可能会发生),但是{{1}正确地解释为development
}功能。
什么会导致节点在两个表达式之间不同地解释该值?
编辑:添加了kubernetes yaml配置。
在发布过程中,$ {}变量被Azure DevOps取代。
test
答案 0 :(得分:3)
我似乎已经找到了问题的原因。
我们使用webpack进行捆绑(我应该提到),并且在webpack输出的服务器代码中,我看到它已将process.env.NODE_ENV
解析为静态值,但对{{ 1}}。
看来我的帖子没有必要,但我希望它对以后的工作有所帮助。