【问题标题】:Unexpected token export when converting from Babel 6 to Babel 7从 Babel 6 转换到 Babel 7 时出现意外的令牌导出
【发布时间】:2018-11-15 17:47:48
【问题描述】:

总之,我正在转换为 create-react-app 2.1.1,它需要 Webpack 7.0.0 作为依赖项。但是当我将我的应用程序从 Babel 6 转换为 Babel 7 时,我收到了这个错误:

错误来自我的 node_modules 中的 @babel/runtime 内部,我希望它会被忽略。

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

enter image description here

这是使用 @babel/register require() 我正在使用的更新代码:

这是我的 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": {
    ...
  }
}

```

【问题讨论】:

    标签: reactjs babeljs create-react-app


    【解决方案1】:

    我遇到了同样的问题,并且能够用这个解决它。

    // 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-import、dynamic-import-node、react-loadable/babel 和react-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",
        }
    }
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-12
      • 2016-08-15
      • 1970-01-01
      • 2019-07-05
      • 2018-10-31
      相关资源
      最近更新 更多