• Plugin/Preset files are not allowed to export objects,webpack报错/babel报错的解决方法


    1、为什么会报错 ?

      这里抱着错误是因为 babel 的版本冲突。

      多是因为你的 babel 依赖包不兼容。

      可以查看你的 package.json 的依赖列表

      即有 babel 7.0 版本的( @babel/core , @babel/preset-react )

      也可命令查看 bebel-cli 的版本 ( babel -V )

      也有 babel 6.0 版本的 ( babel-core@6.26.0 , babel-cli@6.26.0 , babel-preset-react@6.24.1 )

      

      如果在你的 package.json 依赖包中既有 babel 7.0 版本,又有 babel 6.0 版本,就会报这个错误

      很现实就是两个版本是不兼容的

    2、处理方法

      1、升级到 babel 7.0

      

      将所有有关 babel 的包都升级为 7.0 版本

    1
    2
    3
    4
    5
    6
    "@babel/core""^7.0.0-beta.40",
    "@babel/cli""^7.0.0-beta.40",
    "babel-loader""^8.0.0-beta.0",
    "babel-plugin-lodash""^3.3.2",
    "babel-plugin-react-transform""^3.0.0",
    "@babel/preset-react""^7.0.0-beta.40",<br>"@babel/preset-stage-0":'^7.0.0'

      

      并且修改 .babelrc 文件

      对应的修改  presets 预设和 plugins 都改为 7.0 形式。

    1
    2
    3
    4
    query: {
       presets: ['@babel/react''@babel/stage-0'],
       plugins: ['']
     }

      

      2、降级到 babel 6.0 版本

      

      有时候我们看们的 package.json 里面都是 babel 6.0 版本的。

      如下:

      

    1
    2
    3
    4
    5
    "babel-core""^6.26.0",
    "babel-loader""^7.1.2",
    "babel-plugin-transform-runtime""^6.23.0",
    "babel-preset-env""^1.6.1",
    "babel-preset-stage-0""^6.24.1",

      但是还是报错,为什么呢?

      你不妨把 node_modules 删掉,重新 install ,这样就可以处理一部分兼容问题

      如果上面的方法还是不行。

      你可以查看一下 babel-cli 的版本

    1
    babel -V

      如果是 babel-cli 7.0 版本。

      

      那你就重新安装全局和本地的 babel-cli 版本为 6.0

    1
    2
    3
    npm install -g babel-cli@6.26.0
     
    yarn add babel-cli@6.26.0

      

      

      基本上面两个方法可以解决所有兼容问题。

  • 相关阅读:
    条件注释,判断浏览器版本
    IE 兼容模式下不支持DIV CSS样式display:inline-block,解决
    Hibernate配置问题
    初学Hibernate
    Ognl基本使用
    初学Struts2-自定义拦截器及其配置
    初学structs2,表单验证简单补充
    初学structs2,表单验证
    structs2标签简单实用,及自定义转换器示例代码
    一些专业术语的总结
  • 原文地址:https://www.cnblogs.com/tengrl/p/10342839.html
Copyright © 2020-2023  润新知