Подтвердить что ты не робот

В чем разница между babel-preset-es2015 и babel-preset-env?

В настоящее время я пытаюсь понять конфигурацию Babel, но запутался в babel-preset-**, в Babel есть много настроек, таких как env, es2015, react и другие, я понимаю, что babel-preset-es2015 необходимо перевести код es2015 в предыдущий js-код, чтобы его можно было понять в браузере с большинством/старше, а что насчет babel-preset-env?

В чем разница между этими пресетами? Можно ли использовать env без использования es2015 или наоборот? и каковы случаи, когда нам нужны эти две пресеты для нашей системы построения проекта?

Спасибо.

4b9b3361

Ответ 1

Предустановки babel-preset-es20XX (15, 16, 17) включают преобразования, необходимые для преобразования функций, добавленных в этом конкретном году, в код, совместимый с предыдущей версией.

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

babel-preset-react - это набор преобразований, необходимых для преобразования синтаксических расширений React/Facebook, таких как Flowtype и React JSX.