Совершенно уверен, что вы использовали один из этих транспиляторов для преобразования одного кода в другой. Один из примеров - преобразование es6 в es5 в предположении, что еще не все браузеры поддерживают es5. Мы также часто используем время, даже не задумываясь о том, зачем нам это нужно и каково это влияние. В этой статье я расскажу, что такое транспилятор и почему нам на самом деле может даже не понадобиться его наличие в нашем приложении.
Что такое Транспайлер?
Транспилеры или компиляторы исходного кода - это инструменты, которые считывают исходный код, написанный на одном языке программирования, и создают эквивалентный код на другом языке.
Один из самых известных транспилеров в мире JavaScript - это Babel. Один из наиболее частых случаев использования Babel - это перенос jsx из кода React.js и es6 в код es5. Фактически, у Babel есть множество плагинов, которые вы можете использовать для транспиляции кода.
Как работает Babel?
- Синтаксический анализ: Babylon - это синтаксический анализатор, который берет код Javascript и превращает его в удобное для компьютера представление, называемое AST (абстрактное синтаксическое дерево).
- Преобразование: Babel Traverse преобразует и изменит AST в соответствии с предполагаемым кодом.
- Generate: babel-generator преобразует AST обратно в код
В чем обратная сторона использования транспайлера?
- Транспилер добавляет время сборки
- Код транспилятора медленнее
- Код транспайлера больше
Почему не стоит использовать Transpiler?
Согласно Таблице совместимости ES последние версии всех основных браузеров имеют очень хорошую поддержку функций ES6.
Почти все браузеры имеют хорошую поддержку es6, и одна из причин, по которой мы, вероятно, все еще используем транспилеры, заключается в том, что мы были обязаны его использовать, и мы привыкли к этому термину, который мы забыли, что, вероятно, он больше не нужен. Очень небольшой процент пользователей все еще использует браузер, который не поддерживает es6, но в конечном итоге менеджер по продукту и разработчики должны решить, стоит ли всем плохим частям транспилятора обратиться к этому небольшому количеству пользователи, которые еще не обновили свой браузер и могут обновить его к тому моменту, когда вы настроите всю конфигурацию своего веб-пакета.
Дайте мне знать, что вы думаете в комментарии :)