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

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

未捕获错误: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
  })`

谢谢你的帮助

最佳答案 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

点赞