Я уверен, что вы заинтересованы в ES6, поддержке JSX и т. д.
Поэтому я разработал это вступление, чтобы вы могли быстро и ясно освоиться (надеюсь!)
Это самое краткое введение во все, что вам нужно знать о Babel.
Интерлюдия
Babel компилирует код JavaScript в код JavaScript. Не так уж и сложно, верно?
Это нужно сделать, потому что существуют разные версии движков JavaScript, и разработчики хотят использовать новейший синтаксис и функциональность кода, а также поддерживать старые движки JavaScript, работающие в старых браузерах или версиях Node.js. .
Высокоуровневая архитектура Babel разбита на два основных пакета:
- babel-cli — помогает запустить babel из командной строки для компиляции файл за файлом.
- babel-core — основная библиотека babel для Node.js.
Существует много других модулей npm, которые представляют собой интеграции, такие как gulp-babel или babel-loaderдля веб-пакета. а также наборы трансформаций Babel, такие как babel-preset-es2015и так далее. Мы коснемся последнего через секунду.
Кратко о том, как работает Babel
Babel — это просто компилятор.
У него есть 3 этапа, на которых все происходит:
- Парсинг — штука, которая умеет парсить код JavaScript. По умолчанию это то, что Babel делает в своем ядре.
- Преобразование — штука, умеющая применять любые преобразования на основе проанализированных данных. Например:
const h = 'hello' и преобразование в var h = 'hello'. - Генерация — Применяет сгенерированные преобразования.
Модульность Бабеля
Плагины, пресеты и полифилы:
- Плагины — плагины представляют собой определенный набор преобразований, которые применяются к синтаксису. Например, поддержка стрелочных функций в ES6. Как вы можете себе представить, существует множество плагинов, созданных для охвата всего ES6.
- Пресеты — пресеты — это просто набор плагинов. Это просто набор плагинов, без лишнего сахара.
- Поллифилы — это плагины, которые полифицируют определенный набор функций, которые еще не доступны в среде выполнения, поэтому требуют фактической реализации. Например: Object.assign в ES6.
Ресурсы
Узнайте больше о Вавилоне:
Хотите узнать больше о таких компиляторах, как Babel? посмотрите следующий проект: