fly*_*gzl 119 babel ecmascript-6
我的问题是:是什么区别babel-preset-stage-0
,babel-preset-stage-1
,babel-preset-stage-2
和babel-preset-stage-3
,什么是最好的选择,当我们发展ES6
?
Cod*_*gue 94
Babel的阶段预设等同于TC39流程以及每个提案的不同状态,以便进行潜在的语言变更.它们包括该阶段所有建议更改的实现和polyfill.
目前的任何东西Stage-0
都是稻草人,而不是 ES6.这是未来的Javascript,并且绝对不能确定它会成为任何官方的ECMAScript规范.
请不要只是这样设置,stage-0
以便在不了解这将产生的后果的情况下工作.
仅包含ES6功能的Babel Preset是 preset-es2015
Cal*_*lat 49
正如其他答案所阐述的那样.第4阶段是最稳定的,第0阶段是最危险的.以下答案和文档中的5个阶段的高级别细分.我正在添加这个,因为当我谈到这一点时,我期待每个阶段的更高级别细分:
准备好包含在ECMAScript Standard中,已通过测试并将成为下一版本的一部分
包含完整的规范文本,并包含大多数已经过测试并提供反馈的插件.解决方案已完成,所有进一步的更改均基于实施经验.
尽可能完成对插件的进一步支持.对这些要求的要求主要是在途中只有增量变化.语义和api预计将完成.它很可能成为规范的一部分.
每个级别都是包容性的,而4个包括3个包括2个等等...我希望这个总结可以帮助将来的某个人.
Cha*_*iam 15
这些阶段代表TC39流程定义的阶段,这些阶段将疯狂但有用的想法的特征运用到可接受的标准中,例如ES6.这个过程需要一些时间,因为每个角落的案例都必须进行讨论,思考,测试,填充,讨论等等.也就是说,它是一个标准组织.目标是说"ES6"将具有完整和完整的含义,就像说"ES5"一样.
在实践中,您的项目要求可能包括从保持到尝试和真实到玩耍,如此模糊,语言功能.您可能想要从这些链接开始:
TC39流程概述:这包括一个关于阶段意味着什么以及功能如何从阶段到阶段进展的漂亮图表.下面是TC39的概述.
积极提案:快速概述某些提案所处的阶段.它还包括指向完成,非活动和阶段0提案的链接.今天,2017年4月,Public Class Fields处于第2阶段,这意味着它已被精确描述并且已经分配了审阅者,但未进行全面审核.
第3阶段的Babel预设套餐:所有第3阶段提案的插件页面,包含Git和NPM的链接.基本上,这个插件引入了一系列软件包,理论上这些软件包填充了TC39第3阶段的当前提案.实际上,可能会出现错误.此外,您可以找到类似的类似,它链接到阶段2及以下的插件页面.这些页面将链接到包含第3阶段提案和不太稳定的提案的包.
Babel Preset'env':此Babel预设支持已完成的提案,选择在已知环境中支持这些功能所需的正确包.例如,本地node
可执行文件比旧浏览器需要更少的插件.可以想到支持已批准的未来功能的'stage-4'插件.
总之,如果您使用它们,您只需要处理这些预发布功能.如果您确实需要使用它们,请选择具有您所需要的最高数量的舞台.如果您只是想要一个具有疯狂功能的玩具装置来讨论水冷却器,请继续前进并抓住第0阶段.
这是理解的最佳起点。什么是 babel 预设
链接的摘录:
阶段 0 - 稻草人:只是一个想法,可能是 Babel 插件。
阶段 1 - 提案:这是值得努力的。
第 2 阶段 - 草案:初始规范。
第 3 阶段 - 候选:完整的规范和初始浏览器实现。
第 4 阶段 - 完成:将添加到下一个年度版本
整体图:
preset
在 babel 的术语中称为 a 。每个预设都包含来自不同风险级别的插件。preset-0
这意味着它具有非常实验性的功能插件,因此有很高的风险使其成为最终规范。就像开发人员想到 Javascript 应该具有特定功能一样,他做了一些工作以使其进入 TC-39 提案流程。preset-1
它包含 TC-39 接受的功能创意的插件,他们认为值得努力。preset-2
已为该功能准备好初始草案的功能插件。它继续..因此,可能会发生在 Stage 0 中的功能在一段时间后到达 Stage 2 并最终在一段时间后进入下一个 Javascript 版本的情况。
因此,对于这些 Babel Presets 的每个版本,您都可以在其中找到不同的插件集。也可能发生在阶段 0 中的功能经历了一些更改,并对其功能进行了重大更改。它达到了,让我们说第 2 阶段使用完全不同的 API。因此,开发人员必须确保在更新这些插件时对代码进行必要的更改。
归档时间: |
|
查看次数: |
35571 次 |
最近记录: |