天天看點

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 版本的 ( [email protected] , [email protected] , [email protected] )

  

  如果在你的 package.json 依賴包中既有 babel 7.0 版本,又有 babel 6.0 版本,就會報這個錯誤

  很現實就是兩個版本是不相容的

2、處理方法

  1、更新到 babel 7.0

  将所有有關 babel 的包都更新為 7.0 版本

"@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: ['']
    }
      

  2、降級到 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 [email protected]

yarn add [email protected]
      

  基本上面兩個方法可以解決所有相容問題。

https://www.cnblogs.com/jiebba/p/9618930.html

   我的部落格 :   XiaoLong's Blog

部落格園小結巴巴: https://www.cnblogs.com/jiebba