失败的插件是@babel/plugin-transform-regenerator
(没有边际插件,每周下载160万次)。
这是我的整个.babelrc
:
{
"presets": [],
"plugins": [
"@babel/plugin-transform-regenerator"
]
}
当我尝试使用parcel build source/main/index.html --no-source-maps --out-dir build
将其与包裹一起传输时,出现以下错误:
/path/to/index.js: Duplicate plugin/preset detected.
If you'd like to use two separate instances of a plugin,
they need separate names, e.g.
plugins: [
['some-plugin', {}],
['some-plugin', {}, 'some unique name'],
]
at assertNoDuplicates (/.../node_modules/@babel/core/lib/config/config-descriptors.js:205:13)
at createDescriptors (/.../node_modules/@babel/core/lib/config/config-descriptors.js:114:3)
at createPluginDescriptors (/.../node_modules/@babel/core/lib/config/config-descriptors.js:105:10)
at alias (/.../node_modules/@babel/core/lib/config/config-descriptors.js:63:49)
at cachedFunction (/.../node_modules/@babel/core/lib/config/caching.js:33:19)
at plugins.plugins (/.../node_modules/@babel/core/lib/config/config-descriptors.js:28:77)
at mergeChainOpts (/.../node_modules/@babel/core/lib/config/config-chain.js:314:26)
at /.../node_modules/@babel/core/lib/config/config-chain.js:278:7
at buildRootChain (/.../node_modules/@babel/core/lib/config/config-chain.js:68:29)
at loadPrivatePartialConfig (/.../node_modules/@babel/core/lib/config/partial.js:85:55)
以下是我的package.json版本:
"@babel/core": "^7.1.2",
"@babel/plugin-transform-regenerator": "^7.0.0",
有什么想法吗?
5条答案
按热度按时间wgx48brx1#
这是一个巴别塔错误,基本上说你已经定义了你的插件
@babel/plugin-transform-regenerator
两次-或多或少间接。包捆绑器默认使用Babel预设
@babel/preset-env
来翻译你的代码。这些预设通常只是可共享的插件列表。正如你所看到的here,preset-env
已经包含了Babel 7中的"@babel/plugin-transform-regenerator"
。简单的解决方案:只需要从
.babelrc
中插件配置中删除"@babel/plugin-transform-regenerator"
。PS:从版本6迁移到版本7后,有过类似的经历。我的旧配置看起来是这样的(在巴别塔6中有效)
我不得不删除插件
transform-object-rest-spread
,transform-async-generator-functions
和transform-async-to-generator
,正如前面所说,它们包含在env
中(这里明确指定)。Babel提供了一个名为X1 M10 N1 X(惊喜,惊喜)的奇妙升级工具,它确实很好地完成了重命名插件的工作,但不幸的是,它让我独自拥有这些“副本”。
希望,这有帮助。
vhmi4jdf2#
在做了一些研究后,最有可能的原因是你有一个或多个默认插件,也是由这个插件内部使用的错误。
解决此问题的最简单方法是按照错误的指示执行操作:为插件添加唯一名称:
"plugins": ["@babel/plugin-transform-regenerator", {}, 'unique-name']
hec6srdp3#
我今天也遇到了同样的问题。我的解决方法是:
twh00eeo4#
只需将
"@babel/plugin-transform-regenerator"
从omhiaaxx5#
我遇到了同样的问题,但与另一个插件,我认为他们都是一样的。我的插件:
最后我注意到在
devDependencies in package.json
和plugins in webpack.config.js
中都有一个插件。我去掉了webpack文件中的那个,它运行得很好。但是你的问题是
.babelrc
和package.json
。我想如果你和我一样做的话会解决的。你不必同时在两个文件中使用相同的插件。