0

babel-preset-env允许自动确定所需的 polyfill 和转换,但它如何在运行时检查编译时指定的目标版本是否真的可用。

假设我使用 Safari 10

"targets": {
   "safari": 10
}

但代码是在旧版本的 safari 上运行的。

babel-preset-env 是如何识别这一点的,或者处理这个常见问题的典型方法是什么?

4

1 回答 1

1

babel-preset-env不执行任何运行时检查。它仅启用指定环境所需的转换。您正在有效地设置您的最低支持环境,并选择退出支持较低版本所需的任何转换。

例如,如果我的配置中指定的所有浏览器版本都支持 ES2015 类,Babel 不会将类转换为 ES5 支持的形式,因为没有必要这样做!

于 2018-01-23T15:26:16.967 回答