什么是babel预设?阶段是什么意思?

Mat*_*s M 9 babeljs

什么是babel预设,为什么需要它?

关于特定的babel预设,有几个问题,但没有一个解释它的必要性(例如babel-preset-stage-0,babel-preset-stage-1等有什么区别

另外,Babel文档没有解释必要性:https : //babeljs.io/docs/plugins/preset-latest/

Mat*_*s M 9

Babel预设:

  • 从技术上讲,预设是插件的集合(如Quentin所说)
  • 对特定语言功能支持

阅读这篇出色的文章:https : //www.fullstackreact.com/articles/what-are-babel-plugins-and-presets

预设是一组用于支持特定语言功能的插件。

Babel 默认使用两个预设:

  • es2015:添加了对ES2015(或ES6)JavaScript的支持
  • react:添加对JSX的支持

... ES2015只是ES6的另一个名称... [1]

预设阶段:

阶段代表实验特征的状态。第三阶段之前应谨慎使用。

...除了ES7之外,建议的JavaScript功能可以在各个阶段存在:[1]

stage-0-Strawman:只是一个想法,可能是Babel插件。

第一阶段-提案:这值得我们努力。

第2阶段-草案:初始规范。

第3阶段-候选:完整的规范和初始浏览器实施。

阶段4-已完成:将添加到下一个年度版本中。[2]

[1] https://www.fullstackreact.com/articles/what-are-babel-plugins-and-presets

[2] https://babeljs.io/docs/plugins/


Que*_*tin 8

文档

预设是可共享的 .babelrc 配置或简单的 babel 插件数组。

Babel 是一个转换 JS 的工具。

一个插件和一些用于执行特定转换的代码。

您必须指定要与配置一起使用的插件。

预设只是一个预先编写的配置,您可以使用它来获取常见的转换集。