问题来源: 运用ant-design 的metion组件必须要使用react 15.x以上的版本,而目前所用的版本是 react 0.14.x版本,所以就不得不对react进行升级
出现的问题: 将react升级到15.x版本之后,导致了react-hot-loader依赖的一个包没有了,react 0.14.x里面有一个 react-mount的包在react15.x版本没有.导致控制台报错
解决过程
1.查找资料,据网上说,将react-hot-loader升级到3.0.0-bate.7版本可以解决,第一次尝试失败,是因为在升级react版本时老版本的react还存在,卸载有残留项
2.将热更新去掉,将webpack-loader里面的热更新模块去掉,可以解决这个问题,但是以后就没有热更新了,这对开发还是有影响的,所以放弃了
3.将node-modules整个文件夹删除,重新安装开发依赖,指定react和react-dom版本进行安装,指定安装react-hot-loader版本安装,在react-hot-loader中不需要在对webpack-loader进行模块配置,这样就避免了hot模块对react-mount的依赖. 同时在.babelrc 文件中添加 "plugins": ["react-hot-loader/babel"],使用tatge-2
坑:
升级完react和react-dom之后导致别的依赖包找不到
将依赖react-mount 的hot模块干掉,有失去了热更新功能
安装完beta模块之后缺少 babel-plugin-transform-object-assign
总结:在升级模块之前一定要考虑到会不会对其他模块产生影响