未捕获错误:React正在生产模式下运行,但死代码

时间:2018-01-27 18:11:45

标签: reactjs webpack production-environment

当我在生产中部署我的项目时,出现了这个错误:

未捕获错误:React正在生产模式下运行,但尚未应用死代码。了解如何正确配置React进行生产:

我的webpack文件在插件部分中包含以下代码:

 `new webpack.DefinePlugin({
    'process.env.NODE_ENV': JSON.stringify('production')
  }),
  new webpack.optimize.AggressiveMergingPlugin(),
  new webpack.optimize.UglifyJsPlugin({
    minimize: true
  }),
  new CompressionPlugin({
    asset: '[path].gz[query]',
    algorithm: 'gzip',
    test: /\.js$|\.css$|\.html$/,
    threshold: 10240,
    minRatio: 0.8
  })`

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

Michal Zalecki有一篇关于如何使用Webpack优化React for Production的文章:

https://michalzalecki.com/optimize-react-build-for-production-with-webpack/#remove-dead-code-with-tree-shaking

根据此处给出的错误,有两件事需要检查。

1)第一个应该是删除最小化选项。

这将允许您进入您的生产包,以查看/ *未使用的和谐导出事实* /插入的评论。

如果没有插入,我会进入你的Bable配置并确保代码在es2015预设下正确编译。树摇动仅适用于ES2015模块。

2)如果你还没有这样做,我也肯定会包含source-map devtool选项。源地图是麻烦的,但是我允许teamtreehouse的朋友解释原因:

http://blog.teamtreehouse.com/introduction-source-maps