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

 

一、为何会报错 ?

  这里抱着错误是由于 babel 的版本冲突。javascript

  可能是由于你的 babel 依赖包不兼容。html

 

  能够查看你的 package.json 的依赖列表java

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

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

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

  

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

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

 

 

二、处理方法

 

  一、升级到 babel 7.0json

  

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

"@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",
"@babel/preset-stage-0":'^7.0.0'

  

  而且修改 .babelrc 文件

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

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

  

 

  二、降级到 babel 6.0 版本

  

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

  以下:

  

    "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 的版本

babel -V

  若是是 babel-cli 7.0 版本。

  

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

 

npm install -g babel-cli@6.26.0

yarn add babel-cli@6.26.0

  

  

  基本上面两个方法能够解决全部兼容问题。

  


  http://www.javashuo.com/article/p-apmixizm-kt.html 

   个人博客 :  XiaoLong's Blog

   博客园小结巴巴: https://www.cnblogs.com/jiebba

相关文章
相关标签/搜索