Проверка версии среды выполнения babel-preset-env

babel-preset-env позволяет автоматически определять необходимые полифилы и преобразования, но как он проверяет во время выполнения, действительно ли целевые версии, указанные во время компиляции, действительно доступны.

Допустим, я нацелился на сафари 10, используя

"targets": {
   "safari": 10
}

но код запускается на более старой версии сафари.

Как babel-preset-env распознает это или каковы типичные способы решения этой распространенной проблемы?

1 ответ

babel-preset-env не выполняет никаких проверок во время выполнения. Он включает только те преобразования, которые требуются для указанной среды. Вы эффективно устанавливаете минимальную поддерживаемую среду и отказываетесь от любых преобразований, которые потребуются для поддержки более низких версий.

Например, если все версии браузера, указанные в моей конфигурации, поддерживают классы ES2015, Babel не будет преобразовывать классы в форму, поддерживаемую ES5, поскольку в этом нет необходимости!

Другие вопросы по тегам