System
和babel-polyfill
之间的差异是什么? babel-es2015
是否包含babel-es2015
?
答案 0 :(得分:0)
<强>巴别-填充工具强>
该模块通过在全局(如:Promise和WeakMap)和原型(如Array.prototype.includes)上分配方法来完成模拟ES2015。例如:如果您的环境没有Promise对象,一旦您需要babel-polyfill,您就知道有Promise对象,因为它已被添加到全局范围。
<强> Babel-runtime
强>
此模块执行非常类似的操作,但它不会更改全局命名空间或污染原型。相反,babel-runtime可以作为应用程序的依赖项包含在内,就像任何其他模块一样,您可以从模块中包含ES2015方法。
例如:Promise对象可以通过使用包含:
包括-诺
require('babel-runtime/core-js/promise');
然而,这是太多的工作,所以我们使用babel-plugin-transform-runtime,我们可以添加到我们的babel配置中以自动重写代码,以便您使用Promise API编写代码并将其转换为使用babel-runtime导出的类似Promise的对象。
巴别-配置
{
"plugins": ["transform-runtime"]
}
更多细节可以找到here
那么何时使用什么?