【问题标题】:Uncaught SyntaxError: Unexpected identifier for import _regeneratorRuntime未捕获的 SyntaxError:导入 _regeneratorRuntime 的意外标识符
【发布时间】:2019-04-11 13:29:09
【问题描述】:

我第一次关注 React setup guide 设置 React。但是,我在我的代码中添加了 async/await。当预处理器 - npx babel 运行时,输出文件如下所示:

浏览器控制台给了我错误:

Uncaught SyntaxError: Unexpected identifier

用于导入。

我检查了babel-runtime 在我的节点模块中。

我的 package.json 依赖项如下所示:

  "dependencies": {
    "babel-cli": "^6.26.0",
    "babel-preset-react-app": "^3.1.2"
  }

【问题讨论】:

  • .babelrc 中有什么内容?
  • 我没有.babelrc 文件。
  • 我从那里安装了 devDependencies 并添加了 .babelrc 文件。现在导入更改为var _regenerator = require('babel-runtime/regenerator');,我收到错误Uncaught ReferenceError: require is not defined
  • 嗯,现在是 require 的特定于节点的问题。我认为这是一个已知问题。会检查。但我认为最好坚持使用 Es6 import

标签: javascript reactjs async-await babeljs


【解决方案1】:

首先,删除旧的依赖项

npm uninstall -D babel-cli babel-preset-react-app babel-runtime

然后添加最新的依赖项

npm i -D @babel/core @babel/preset-react @babel/cli babel-runtime

安装最新依赖后package.json看起来像

"devDependencies": {
    ...
    "@babel/cli": "^7.13.14",
    "@babel/core": "^7.13.8",
    "@babel/preset-env": "^7.13.9",
    "@babel/preset-react": "^7.13.13",
    "babel-runtime": "^7.0.0-beta.3",
    ...

修复此问题后,您可能会遇到问题 (regeneratorRuntime is not defined),然后您需要在 HTML 文件中添加 runtime.js 脚​​本

https://github.com/facebook/regenerator/blob/master/packages/runtime/runtime.js

【讨论】:

    猜你喜欢
    • 2018-12-06
    • 1970-01-01
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多