React + webpack:'process.env'未定义

时间:2015-03-17 09:54:50

标签: javascript reactjs webpack

我正在尝试使用webpack运行我们网站上的热门开发服务器;该网站使用ReactJS,其中包含以下代码:

if (\"production\" !== process.env.NODE_ENV) // etc

当没有运行热插拔时,它很好,但是使用热插拔,它会运行,导致错误:

TypeError: process.env is undefined

代码如下所示:

error is on this line

该项目以 工作的https://github.com/webpack/react-starter为模型;所以问题是;我在配置文件中犯了什么错误和/或当'生产'编译工作正常时我如何寻找错误?

我发布了gist of the webpack config file

3 个答案:

答案 0 :(得分:29)

在您的webpack配置中,有两个选项可能会影响process.env

查看代码时,如果process.envoptions.prerender都是options.minimize,则false可能未定义。

您可以通过始终使用定义process.env的环境(例如:node)或使用DefinePlugin自行为变量分配默认值来解决此问题。

答案 1 :(得分:7)

这是最简单的方法:

new webpack.EnvironmentPlugin( { ...process.env } )

将其添加到您的webpack插件列表中。

答案 2 :(得分:6)

这个答案对我来说更有意义。发布其他人需要一个完整的例子。

https://github.com/webpack/webpack/issues/868