从Babel 6转换为Babel 7时出现意外的令牌导出

时间:2018-11-15 17:47:49

标签: reactjs babeljs create-react-app

全部,我正在转换为create-react-app 2.1.1,它需要Webpack 7.0.0作为依赖项。但是,当我将应用程序从Babel 6转换为Babel 7时,出现此错误:

I'm converting from Babel 6 -> Babel 7, and I'm getting this error:

该错误来自我的node_modules中的@ babel / runtime内部,我希望将其忽略。

这是使用babel-register require()的原始代码:

enter image description here enter image description here

这是使用@ babel / register require()的更新代码,

enter image description here

这是我的package.json:

```

{
  "name": "klaw-boilerplate-mernt",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@babel/core": "^7.1.6",
    "@babel/helper-module-transforms": "^7.1.0",
    "@babel/register": "^7.0.0",
    "@babel/runtime": "^7.1.0",
    "@babel/plugin-transform-runtime": "^7.1.0",
    ...
  },
  "devDependencies": {
    ...
  }
}

```

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,并且能够解决此问题。

// server/index.js
require("ignore-styles");
require("url-loader");
require("file-loader");
require("@babel/polyfill");
require("@babel/register");

// your custom stuff

就我而言,我将 presets 行移到了.babelrc文件中,但这没关系。

// .babelrc

{
    "presets": ["@babel/env", "@babel/preset-react"]
}

卸载syntax-dynamic-importdynamic-import-nodereact-loadable/babelreact-app。 据我了解,由于这些版本较旧,因此不兼容,从而导致错误。 node_modules默认情况下被忽略。

以下是package.json中的重要条目。

{
    "dependencies": {
        "@babel/polyfill": "^7.2.5",
        "@babel/preset-env": "^7.2.3",
        "@babel/preset-react": "^7.0.0",
        "@babel/register": "^7.0.0",
        "file-loader": "^3.0.1",
        "url-loader": "^1.1.2",
    }
}

其中一些名称在使用时也可以缩写,但我希望保留全名