Babel (transpilator)
Logo programu | |
Autor | Sebastian McKenzie |
---|---|
Pierwsze wydanie | 2014[1] |
Aktualna wersja stabilna | 7.25.6 (30 sierpnia 2024) [±] |
Język programowania | JavaScript |
System operacyjny | Wieloplatformowe |
Rodzaj | transpilator |
Licencja | MIT[2] |
Strona internetowa |
Babel – darmowy i otwarty transpilator JavaScript, którego głównym celem jest konwersja ECMAScript 2015+ (ES6+) na kod zgodny z ES5, czyli ze starszymi przeglądarkami internetowymi. Tym samym Babel jest narzędziem umożliwiającym korzystanie z najnowszych funkcji języka JavaScript zanim zostaną one wszędzie zaimplementowane)[3][4].
Wtyczki do Babel służą do przekształcania składni, która nie jest powszechnie obsługiwana, w wersje kompatybilne wstecz. Na przykład arrow functions wyspecyfikowane w ES6 są konwertowane na zwykłe deklaracje funkcji[5]. Można także przekształcić zupełnie niestandardową składnię taką jak JSX na JavaScript[6].
Babel udostępnia również polyfille, aby zapewnić obsługę funkcji, których całkowicie brakuje w danym środowisku JavaScript. Na przykład metody statyczne, takie jak Array.from
, czy całe klasy, takie jak Promise
, są dostępne tylko w ES6+. Ale dzięki Babel można ich używać i nadal wspierać stare przeglądarki[7].
Zobacz też
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- ↑ first commit [online], Babel.js Github [dostęp 2021-01-26] .
- ↑ LICENSE [online], Babel – GitHub [dostęp 2020-01-01] .
- ↑ Gastón Silva , ES6 bez tajemnic. Korzystanie z ES6 z pomocą narzędzi Babel i Broccoli, Joanna Liana, Shebang.pl, 15 grudnia 2015 [dostęp 2020-01-01] (pol.).
- ↑ Transpilacja kodu ECMAScript 6 za pomocą Babel JS i Browserify [online], ProPHP, 15 listopada 2015 [dostęp 2020-01-01] .
- ↑ Plugins · Babel [online], babeljs.io [dostęp 2020-01-01] (ang.).
- ↑ Introducing JSX [online], reactjs.org [dostęp 2020-01-01] (ang.).
- ↑ @babel/polyfill [online], babeljs.io [dostęp 2020-01-01] (ang.).
Linki zewnętrzne
[edytuj | edytuj kod]- Oficjalna witryna (ang.)
- Projekt na GitHub (ang.)
- Historia pochodzenia (ang.)