【发布时间】:2016-03-01 05:28:40
【问题描述】:
为了解决来自 Redux 的警告背后的问题,我偶然发现了 the advice,它解释说,在使用 React 或 Redux 时,为了生成针对生产使用而优化的构建,envifying 是必要的步骤。 Envifying 被解释为将特定于节点的环境变量(例如 process.env.NODE_ENV)替换为实际值(例如 'production')的过程。
接受 envifying 是必要的并且上述解释是正确的,这让我感到困惑,因为它似乎假设客户端库(如 React 和 Redux)将包含节点特定的环境变量。是的,我知道这些库特别适用于构建同构/通用 JavaScript 应用程序,但会令人惊讶。我理解正确吗?如果是这样,我需要注意在节点之外在何处使用 process.env.NODE_ENV 的模式的解释?
如果我正确理解该建议,则建议如果我使用 Webpack,我可能想要使用诸如 DefinePlugin 之类的插件。
new webpack.DefinePlugin({
"process.env.NODE_ENV": process.env.NODE_ENV,
}),
这似乎还需要我将 NODE_ENV 变量设置为我想为我的客户端代码生成的构建的目标环境。这很奇怪,因为我在构建服务器上设置了一个环境变量,以反映实际代码在部署到的服务器上运行的环境应该是什么。
所有这一切让我觉得我在一般模式方面遗漏了一些东西。
相关信息:
【问题讨论】:
标签: javascript node.js webpack redux envify