当我在生产中部署我的项目时,出现这个错误: 未捕获错误:React正在生产模式下运行,但尚未应用死代码.阅读如何正确配置React进行生产: 我的webpack文件在插件部分中有这个代码: `
未捕获错误: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