babel-runtime 不会转译实例方法,如 "foobar".includes("foo")之类的实例方法。 对于Set Map Promise 等全局对象的兼容,babel-runtime提供了polyfill选项: polyfill boolean, defaults to true.Toggles whether or not new built-ins (Promise, Set, Map, etc.) are transformed to use a non-global polluting polyfill. 也就是说,如果polyfill为true,无论浏览器支不支持Promise等新全局对象,浏览器都会使用babel-runtime转换后的全局对象 如果polyfill设为 false,在不支持上述接口的浏览器中,会报错。在支持上述接口的浏览器中,则会使用浏览器原生的对象。 以下是三种不同的情况下打印Promise对象,可以看出明显区别: polyfill 为 true, 浏览器支持Promise polyfill 为 false, 浏览器支持Promise polyfill 为 false, IE浏览器不支持Promise 参考: Runtime transform
babel-runtime
不会转译实例方法,如"foobar".includes("foo")
之类的实例方法。对于
Set
Map
Promise
等全局对象的兼容,babel-runtime
提供了polyfill
选项:也就是说,如果
polyfill
为true
,无论浏览器支不支持Promise
等新全局对象,浏览器都会使用babel-runtime
转换后的全局对象如果
polyfill
设为false
,在不支持上述接口的浏览器中,会报错。在支持上述接口的浏览器中,则会使用浏览器原生的对象。以下是三种不同的情况下打印
Promise
对象,可以看出明显区别:polyfill
为true
, 浏览器支持Promise
polyfill
为false
, 浏览器支持Promise
polyfill
为false
, IE浏览器不支持Promise
参考:
Runtime transform