代码编译时 提示找不到 '@babel/runtime/core-js/object/keys'

有个文件用到了 Object.keys(item),动态更新时会编译出错:

Error in Cannot find module '@babel/runtime/core-js/object/keys'
Error: Cannot find module '@babel/runtime/core-js/object/keys'

但是 我已经安装了 runtime 了, 版本也改成有 object/keys.js 的了

ps:是在 .roadhogrc.mock.js 文件里

阅读 13.3k
2 个回答

暂时解决了,自己回答下吧:
这个错误的原因是因为不同插件的二次依赖引入了不同版本的 @babel/runtime。高版本的 7.1.5 下是没有 @babel/runtime/core-js 这个文件夹的,我们 dev 环境编译时resolve的目录是高版本的,在项目目录的 package.json 里 指定个有该文件的版本就好了

 "@babel/runtime": "7.0.0-beta.46",
 
 

看了下 babel 的文档, runtime 是可以通过 plugins 配置的,也可以指定为 @babel/runtime-corejs2, 但是通过 roadhog 设置后没生效,对 roadhog 不熟悉,不想搞了先这样解决吧

node_modules 删除了重新npm install 一下看看!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏