Совершенно уверен, что вы использовали один из этих транспиляторов для преобразования одного кода в другой. Один из примеров - преобразование es6 в es5 в предположении, что еще не все браузеры поддерживают es5. Мы также часто используем время, даже не задумываясь о том, зачем нам это нужно и каково это влияние. В этой статье я расскажу, что такое транспилятор и почему нам на самом деле может даже не понадобиться его наличие в нашем приложении.

Что такое Транспайлер?

Транспилеры или компиляторы исходного кода - это инструменты, которые считывают исходный код, написанный на одном языке программирования, и создают эквивалентный код на другом языке.

Один из самых известных транспилеров в мире JavaScript - это Babel. Один из наиболее частых случаев использования Babel - это перенос jsx из кода React.js и es6 в код es5. Фактически, у Babel есть множество плагинов, которые вы можете использовать для транспиляции кода.

Как работает Babel?

  1. Синтаксический анализ: Babylon - это синтаксический анализатор, который берет код Javascript и превращает его в удобное для компьютера представление, называемое AST (абстрактное синтаксическое дерево).
  2. Преобразование: Babel Traverse преобразует и изменит AST в соответствии с предполагаемым кодом.
  3. Generate: babel-generator преобразует AST обратно в код

В чем обратная сторона использования транспайлера?

  1. Транспилер добавляет время сборки
  2. Код транспилятора медленнее
  3. Код транспайлера больше

Почему не стоит использовать Transpiler?

Согласно Таблице совместимости ES последние версии всех основных браузеров имеют очень хорошую поддержку функций ES6.

Почти все браузеры имеют хорошую поддержку es6, и одна из причин, по которой мы, вероятно, все еще используем транспилеры, заключается в том, что мы были обязаны его использовать, и мы привыкли к этому термину, который мы забыли, что, вероятно, он больше не нужен. Очень небольшой процент пользователей все еще использует браузер, который не поддерживает es6, но в конечном итоге менеджер по продукту и разработчики должны решить, стоит ли всем плохим частям транспилятора обратиться к этому небольшому количеству пользователи, которые еще не обновили свой браузер и могут обновить его к тому моменту, когда вы настроите всю конфигурацию своего веб-пакета.

Дайте мне знать, что вы думаете в комментарии :)