最近接触到新的项目,然后发现使用的Antd4.1.4版本存在一个BUG会影响到业务系统,于是在各种考虑下还是升级到最新版4.5.0。
然后就发现发布到线上测试环境就遇到某些页面会报错,但是本地又是好的,错误如下:
Minified React error ...
然后搜了一下,网上都表示是因为项目内部依赖的React版本存在多个导致的这个问题,可以通过配置webpack的externals属性,将所有的react依赖不进行打包,然后通过地址引入来解决。
确实可以通过这个方式来解决,而且本身去掉这些依赖后的打包速度还会很快,是一个不错的解决方案。
大致代码如下:
// webpack.config.js
module.exports = {
// ...
externals: {
react: {
commonjs: 'react',
commonjs2: 'react',
amd: 'react',
root: 'React',
},
'react-dom': {
commonjs: 'react-dom',
commonjs2: 'react-dom',
amd: 'react-dom',
root: 'ReactDOM',
},
}
};
但是我使用了另一种方式,就是我讲测试环境的所有依赖包清除,然后再重新安装一遍最新的依赖,然后问题也解决了。