Error: Plugin/Preset files are not allowed to export objects, only functions

Error: Plugin/Preset files are not allowed to export objects, only functions

  • package.json 的依赖列表即有 babel 7.0 版本的( @babel/core , @babel/preset-react )

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

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

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

很显然就是两个版本是不兼容的

  • 处理方法
  • 我自己把babel-loader版本改低了,原来是8
  • 在package.json中改为:“babel-loader”: “^7.1.2”,先把package-lock.json删除

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

安装babel-cli全局变量

npm install babel-cli -g
babel -V

配置babel-cli

我们在babel目录新建.babelrc文件(这是babel的配置文件),Windows下可以用如下命令创建。

echo. > .babelrc

用记事本打开,输入以下内容

{
    "presets": ["es2015", "stage-2"],  //设置转码规则
    "plugins": ["transform-runtime"]  //设置插件
 }

这里我们配置好了babel的转码规则,转码成es2015.官方提供以下的规则集,可以根据需要安装:

# ES2015转码规则

npm install --save-dev babel-preset-es2015

# react转码规则

npm install --save-dev babel-preset-react

# ES7不同阶段语法提案的转码规则(共有4个阶段),选装一个

npm install --save-dev babel-preset-stage-0
npm install --save-dev babel-preset-stage-1
npm install --save-dev babel-preset-stage-2
npm install --save-dev babel-preset-stage-3

这里我们只需要转换成es2015,这里我们安装我们需要的部分:

npm install babel-core babel-preset-es2015 babel-plugin-transform-runtime babel-preset-stage-2 –save-dev 

如需其他配置,可以修改.babelrc文件,然后安装上面对于的插件。我们再打开我们babel项目下的package.json文件,做如下修改。

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值