如何在Babel 7中启用带有插件提案对象剩余散布的散布运算符?

时间:2018-09-09 16:37:07

标签: babeljs

我正在尝试使用Babel在我的项目中启用传播操作符,但是由于Babel删除了舞台预设,所以我没有运气让传播操作符与https://www.npmjs.com/package/@babel/plugin-proposal-object-rest-spread

一起使用

我已经安装了plugin-proposal-object-rest-spread并将其添加到我的.babelrc中:

{
  "presets": [
    "@babel/preset-env",
    "@babel/preset-react"
  ],
  "plugins": [
    "@babel/plugin-proposal-object-rest-spread"
  ]
}

但是我仍然遇到以下错误:

Support for the experimental syntax 'objectRestSpread' isn't currently enabled 
 (28:3):

  26 |   onClick,
  27 |   text,
> 28 |   ...allProps
     |   ^
  29 | }) => {
  30 |   let Element = isStatic ? 'span' : renderAs;
  31 |   const props = modifiers.clean(allProps);

Add @babel/plugin-proposal-object-rest-spread (https://git.io/vb4Ss) to the 'plugins' section of your Babel config to enable transformation.

这建议我添加@babel/plugin-proposal-object-rest-spread。我有,它在我的package.json中。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

注意:我使用的是Quasar框架,因此我的说明可能略有不同,但基本相同。

对于像我这样花了几个小时不应该放在首位的其他人,这是我解决的方法:

  1. 转到您当前拥有.babelrc文件的目录。
  2. 创建一个名为babel.config.js的文件并添加以下内容:
module.exports = {
    "plugins": [
      "@babel/plugin-proposal-object-rest-spread"
    ]
}
  1. 现在,做一个npm install @babel/plugin-proposal-object-rest-spread --save-dev

  2. 重新加载服务器,正在运行项目。现在应该可以使用。

就我而言,我没有碰过.babelrc,而是保持原样并添加了新的配置文件。但是其他人很幸运,只是将.babelrc中的所有内容复制粘贴到babel.config.js

只需$ 0.02,(修改后您可能可以删除此部分):

老实说,巴别塔变成了蠕虫的一罐。我不明白为什么他们总是需要不断完善完善的实施方案。我希望我们将来会不再需要花费时间,因为Babel的任何错误都会使平均修复时间至少缩短2个小时。