关闭

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

来源:网络 文章列表 2020-06-06 8
webpack和babel不兼容导致Plugin/Preset files are not allowed to export objects报错

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

"@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 形式。

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 babel-cli@6.26.0

yarn add babel-cli@6.26.0

 

如您看完博文,仍不会的话,本站长提供付费技术支持服务,价格不高! 立即咨询

腾讯云限量秒杀

1核2G 5M 50元/年 2核4G 8M 74元/年 4核8G 5M 818元/年 CDN流量包 100GB 9元

版权声明

本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。

评论

  • 随机获取
点击刷新
精彩评论