babel-preset-stage-0,babel-preset-stage-1等有什么区别

所以我的问题是: babel-preset-stage-0babel-preset-stage-1babel-preset-stage-2babel-preset-stage-3的区别是什么, ES6

巴贝尔的舞台预设相当于TC39过程和每个提案的不同状态,以潜在的语言变化。 它们包括在这个阶段所有提议的变化的实现和polyfill。

目前在Stage-0任何东西都是Strawman, 而不是 ES6。 这是未来的Javascript,绝对不能确定它会成为任何官方的ECMAScript规范。

请不要只是设置stage-0所以它将工作,而不会理解这将会有什么后果。

仅包含ES6function的Babel预设是preset-es2015

这些阶段代表了TC39过程所定义的阶段,将疯狂但有用的想法的function变为可接受的标准,如ES6。 这个过程需要一些时间,因为每一个angular落的情况都必须讨论,思考,testing,填充,讨论一些,等等。也就是说,它是一个标准化组织。 我们的目标就是说“ES6”将具有完整和完整的含义,就像“ES5”一样。

在实践中,您的项目需求可能从停留到尝试和真实,如果模糊不清,语言特征就会很方便地玩耍。 你可能想从这些链接开始:

  • TC39过程概述 :这包括一个关于阶段意味着什么以及特征如何在阶段之间进展的漂亮图表。 下面是TC39的概述。

  • 积极build议 :快速概述某些提案在什么阶段。还包括指向已完成,未提交和第0阶段提案的链接。 今天,2017年4月,公共class级领域正处于第二阶段,这意味着它已被详细描述,评审人员已被分配,但尚未完全审查。

  • 第3阶段的Babel预设软件包 :所有第3阶段提议的插件页面,包含Git和NPM的链接。 基本上,这个插件引入了一系列的封装,理论上,这些封装是对TC39阶段3中的当前build议的补充。实际上,可能会出现错误。 另外,您可以find类似的内容。同样,它链接到阶段2和以下的插件页面。 这些页面将链接到包含第三阶段提案和不太稳定的提案的软件包。

  • Babel Preset'env' :这个Babel预设支持已完成的提议,select在已知环境中支持这些function所需的正确包。 例如,本地node可执行文件比旧版浏览器需要更less的插件。 它可以被认为是支持被批准的未来function的“第四阶段”插件。

总之,如果您使用这些function,您只需要处理这些预发行function。 如果您确实需要使用它们,请select您需要的舞台的最高数量。 如果你只是想要一个疯狂的function玩具安装围绕水冷却器讨论,继续抓住阶段0。

我已经知道了。 你们可以参考https://babeljs.io/docs/plugins/preset-stage-0/

简而言之, preset-stage-0包含preset-stage-1具有的所有function,并且preset-stage-1包含preset-stage-2具有的所有function,等等。

低位数字更强大。 在你的项目中,如果你不喜欢麻烦,只需设置stage-0