从新梳理项目中的包依靠时,以为运用^
或许~
在正式项目中好像不靠谱,由于永久不知道真正打包的效果是否是对的。一个没有什么平安的动人,总能想到许多风险,比方有个家伙在新版本中歹意注入了”rm * -rf”如许的代码,那末我们的项目不是悲剧了。为了稳妥,我锁住了一切依靠的版本。依据npm的机制而言,如许照样堵不住一切进口的,除非把一切的依靠包的package.json中的版本依靠也锁住。固然这是不可能的。不过,风险照样会小一点的。
很快就改好了package.json的内容,然后把项目跑起来(愿望上帝保佑吧)遗憾的是,涌现毛病:
ERROR in ./~/rc-tooltip/lib/Tooltip.js
Module not found: Error: Cannot resolve module 'babel-runtime/helpers/classCallCheck' in \node_modules\rc-tooltip\lib
@ ./~/rc-tooltip/lib/Tooltip.js 15:23-70
ERROR in ./~/rc-tooltip/lib/Tooltip.js
Module not found: Error: Cannot resolve module 'babel-runtime/helpers/possibleConstructorReturn' in \node_modules\rc-tooltip\lib
@ ./~/rc-tooltip/lib/Tooltip.js 19:34-92
ERROR in ./~/rc-tooltip/lib/Tooltip.js
Module not found: Error: Cannot resolve module 'babel-runtime/helpers/objectWithoutProperties' in \node_modules\rc-tooltip\lib
@ ./~/rc-tooltip/lib/Tooltip.js 11:32-88
看上面的毛病信息是babel-runtime的题目,一会儿懵逼了,之前是对的,怎样锁住版本好后,babel-runtime就跪了?立时看看babel-runtime的源码,发明确切没有classCallCheck等文件,岂非版本有题目?看了一下版本,发明babel-runtime的版本居然是4.7.3,什么鬼!如今的版本已经是6.23.0,相对是不对的。再看看babel-runtime的依靠泉源,发明是一个’confit’的组件中援用的,那末就是rc-tooltip和confit这两个组件援用babel-runtime有争执。
解决方案:
在项目package.json中定义babel-runtime的版本为6.23.0