babel JS 文件无法解析“@babel/runtime/helpers/builtin/classCallCheck”

Posted

技术标签:

【中文标题】babel JS 文件无法解析“@babel/runtime/helpers/builtin/classCallCheck”【英文标题】:babel JS file can't resolve "@babel/runtime/helpers/builtin/classCallCheck" 【发布时间】:2019-01-12 03:22:50 【问题描述】:

在我删除我的 node_modules 文件并尝试重新安装 npm 包之前,我的项目运行良好。

我收到这个错误

./node_modules/react-event-listener/dist/react-event-listener.cjs.js
Module not found: Can't resolve '@babel/runtime/helpers/builtin/classCallCheck' in '/Users/suatkarabacak/Desktop/demarkedashboard/node_modules/react-event-listener/dist'

我的 package.json 看起来像这样。


  "name": "demo",
  "version": "0.1.0",
  "private": true,
  "dependencies": 
    "admin-on-rest": "^1.4.1",
    "aor-dependent-input": "^1.2.0",
    "aor-parseserver-client": "0.3.0",
    "aor-rich-text-input": "^1.0.1",
    "babel-runtime": "^6.26.0",
    "parse": "^1.11.1",
    "parse-react": "^0.5.2",
    "prop-types": "^15.6.2",
    "react": "^15.6.2",
    "react-dom": "^15.6.2",
    "react-image-lightbox": "^4.6.0",
    "react-images": "^0.5.19"
  ,
  "devDependencies": 
    "@babel/runtime": "^7.0.0-beta.56",
    "aor-color-input": "^1.2.1",
    "babel-polyfill": "^6.23.0",
    "react-scripts": "^1.1.4"
  ,
  "homepage": "demo.html",
  "scripts": 
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  

没有内置文件夹。

可能是什么问题?

【问题讨论】:

【参考方案1】:

就我而言,问题在于相对路径和复杂的项目结构,因此我必须指定 node_modules 目录的确切位置:

module.exports =   
    resolve: 
      modules: [
        path.resolve(__dirname, "node_modules")
      ],
  ...

【讨论】:

你,先生,是个英雄——这是我的问题——我在网上搜索了好几天才找到这个。【参考方案2】:

如果你想使用 7.0.0-beta.56 版本,最简单的解决方案是在helpers/ 文件夹中手动创建builtin/ 文件夹,然后移动或复制助手的内容helpers/builtin/ 中的文件夹,您将不会再看到此错误消息。

【讨论】:

【参考方案3】:

如果你因为对 material-ui 的依赖而遇到这种情况:

看起来 material-ui 更新了它的 package.json 以引用 '7.0.0-beta.42' 而不是 '^7.0.0-beta.42'

见Issue: 12409

【讨论】:

【参考方案4】:

由于 Babel 7.x 仍是 beta 版本,昨天发布的 beta.56 发生了重大变化。

"@babel/runtime": "^7.0.0-beta.56",

如果您使用的是某个测试版,那么在您的版本号中使用^ 是很危险的,因为这意味着它将接受任何最新版本,无论它实际上是否与以前的测试版兼容。

由于react-scripts 使用https://github.com/facebook/create-react-app/blob/1407287839f94151cec729bd89441d4eee7d9dd3/packages/babel-preset-react-app/package.json#L28

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

你应该有

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

在您自己的package.json 中进行匹配。

【讨论】:

这解决了我的问题。感谢您的解决方案和详细信息!

以上是关于babel JS 文件无法解析“@babel/runtime/helpers/builtin/classCallCheck”的主要内容,如果未能解决你的问题,请参考以下文章

Webpack中无法加载babel ES6解析

无法解析“babel-loader”

解析错误:找不到模块'next/babel'

意外的令牌导入,babel-loader 不工作?

VueJS - 找不到模块:错误:无法解析'@babel/runtime/regenerator'

错误:无法解析模块“babel-loader”