gpt4 book ai didi

configuration - .babelrc 中插件和预设的区别

转载 作者:行者123 更新时间:2023-12-03 07:35:18 27 4
gpt4 key购买 nike

情况

所以我有一个 .babelrc像这样:

{
"presets": [
"es2015",
"stage-2",
"react"
],
"plugins": [
"transform-decorators-legacy"
]
}



预设和插件有什么区别?我应该使用哪一个来配置 Babel?

最佳答案

tl;博士

预设只是插件的集合。您可以在 plugins 中单独包含插件数组或插件集合 presets大批。如果插件是集合的一部分(预设),则不必将其单独包含在 plugins 中.

当您将 npm 包包含在 package.json 中时,情况也是如此。 .

预设与插件

Babel 有很多 official and third party plugins .预设是插件的集合或 as they say :

Presets are sharable .babelrc configs or simply an array of babel plugins.



两者之间的一个重要区别是 plugins are loaded before presets .

预设插件

最常见的预设是 official onesdiscontinued experimental presets .

大多数官方预设包含转换 EcmaScript 标准功能的插件,而实验性 (stage-x) 预设包含转换 future 实验性功能的插件,这些功能的标准化仍在进行中。这些实验/提案预设自 Babel 7 起已被弃用。它们有 blog entry on the reasons .阅读以下部分以了解它们是如何工作的。

当您单击预设时,您可以看到其中包含哪些插件(可能还有其他预设)。如果您通过预设包含插件,则不必单独包含它。 package.json 也是如此当您包含预设的 npm 包时。

弃用的提案预设系统

从第 0 阶段(只是一个想法)到第 3 阶段(候选),您拥有更接近标准化的插件集合。因此,当您包含预设时,每个具有更高 stage-x 值的预设也被包含在内。这些预设中包含的插件在每个版本中都在不断变化,因为它们正在开发中,如果插件被拒绝,则有可能被删除。这就是为什么您需要 transform-decorators-legacy因为,装饰器转译早先从 Babel 中删除了,尽管 they added it back later .

关于configuration - .babelrc 中插件和预设的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45943889/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com