什么是 babel预设,为什么需要它?
关于特定的babel预设有几个问题,但没有一个解释它的必要性(例如what's the difference between babel-preset-stage-0, babel-preset-stage-1 etc)
babel文档也没有解释必要性:https://babeljs.io/docs/plugins/preset-latest/
答案 0 :(得分:5)
Babel Presets:
阅读这篇优秀的帖子:https://www.fullstackreact.com/articles/what-are-babel-plugins-and-presets
预设是一组用于支持特定语言功能的插件。
Babel使用的两个预设默认:
- es2015 :添加对ES2015(或ES6)JavaScript的支持
- 反应:添加对JSX的支持
... ES2015只是用于ES6的另一个名称... [1]
预设阶段:
阶段代表实验性功能的状态。应谨慎使用前阶段3。
...除了ES7之外,提出的JavaScript功能可以存在于各个阶段:[1]
阶段0 - 稻草人:只是一个想法,可能是Babel插件。
阶段1 - 提案:这值得继续。
阶段-2 - 草稿:初始规范。
阶段-3 - 候选人:完整规范和初始浏览器实施。
阶段4 - 已完成:将添加到下一年度版本中。 [2]
[1] https://www.fullstackreact.com/articles/what-are-babel-plugins-and-presets
答案 1 :(得分:4)
来自the docs:
预设是可共享的.babelrc配置或只是一系列的babel插件。
Babel是一个改造JS的工具。
插件用于执行特定转换的一些代码。
您必须指定要与配置一起使用的插件。
预设只是一个预先编写的配置,可用于获取常见的变换集。