我正在尝试使用webpack运行我们网站上的热门开发服务器;该网站使用ReactJS,其中包含以下代码:
if (\"production\" !== process.env.NODE_ENV) // etc
当没有运行热插拔时,它很好,但是使用热插拔,它会运行,导致错误:
TypeError: process.env is undefined
代码如下所示:
该项目以 工作的https://github.com/webpack/react-starter为模型;所以问题是;我在配置文件中犯了什么错误和/或当'生产'编译工作正常时我如何寻找错误?
答案 0 :(得分:29)
在您的webpack配置中,有两个选项可能会影响process.env
:
config.target
(请参阅config.target
)process.env
variable via DefinePlugin
查看代码时,如果process.env
和options.prerender
都是options.minimize
,则false
可能未定义。
您可以通过始终使用定义process.env
的环境(例如:node
)或使用DefinePlugin
自行为变量分配默认值来解决此问题。
答案 1 :(得分:7)
这是最简单的方法:
new webpack.EnvironmentPlugin( { ...process.env } )
将其添加到您的webpack插件列表中。
答案 2 :(得分:6)
这个答案对我来说更有意义。发布其他人需要一个完整的例子。