什么是babel预设?舞台意味着什么?

时间:2017-10-11 09:34:32

标签: babeljs

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

关于特定的babel预设有几个问题,但没有一个解释它的必要性(例如what's the difference between babel-preset-stage-0, babel-preset-stage-1 etc

babel文档也没有解释必要性:https://babeljs.io/docs/plugins/preset-latest/

2 个答案:

答案 0 :(得分:5)

Babel Presets:

  • 技术预设是插件集合(正如Quentin所说)
  • 用例对特定语言功能的支持

阅读这篇优秀的帖子: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

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

答案 1 :(得分:4)

来自the docs

  

预设是可共享的.babelrc配置或只是一系列的babel插件。

Babel是一个改造JS的工具。

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

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

预设只是一个预先编写的配置,可用于获取常见的变换集。