React + webpack:'process.env' 未定义
React + webpack: 'process.env' is undefined
我正在尝试 运行 我们站点上的热门开发服务器使用 webpack;该站点使用 ReactJS,其中包含以下代码:
if (\"production\" !== process.env.NODE_ENV) // etc
不运行热插拔的时候没问题,但是用热插拔的时候,会变成运行,导致错误:
TypeError: process.env is undefined
代码如下所示:
该项目是根据 https://github.com/webpack/react-starter 建模的, 有效;所以问题是;我在配置文件中犯了什么错误 and/or 当 'production' 编译工作正常时,我该如何查找错误?
在你的 webpack 配置中,有两个选项会影响 process.env
:
- When you specify
config.target
(see config.target
)
- When you define the
process.env
variable via DefinePlugin
查看您的代码,当 options.prerender
和 options.minimize
均为 false
时,process.env
似乎未定义。
您可以通过始终使用定义 process.env
的环境(例如:node
)或使用 DefinePlugin
自行为变量分配默认值来解决此问题。
这个答案对我来说更有意义。为有相同需求的其他人发布完整示例。
这是最简单的方法:
new webpack.EnvironmentPlugin( { ...process.env } )
将其添加到您的 webpack 插件列表中。
我正在尝试 运行 我们站点上的热门开发服务器使用 webpack;该站点使用 ReactJS,其中包含以下代码:
if (\"production\" !== process.env.NODE_ENV) // etc
不运行热插拔的时候没问题,但是用热插拔的时候,会变成运行,导致错误:
TypeError: process.env is undefined
代码如下所示:
该项目是根据 https://github.com/webpack/react-starter 建模的, 有效;所以问题是;我在配置文件中犯了什么错误 and/or 当 'production' 编译工作正常时,我该如何查找错误?
在你的 webpack 配置中,有两个选项会影响 process.env
:
- When you specify
config.target
(seeconfig.target
) - When you define the
process.env
variable viaDefinePlugin
查看您的代码,当 options.prerender
和 options.minimize
均为 false
时,process.env
似乎未定义。
您可以通过始终使用定义 process.env
的环境(例如:node
)或使用 DefinePlugin
自行为变量分配默认值来解决此问题。
这个答案对我来说更有意义。为有相同需求的其他人发布完整示例。
这是最简单的方法:
new webpack.EnvironmentPlugin( { ...process.env } )
将其添加到您的 webpack 插件列表中。