@babel/preset-env to inteligentny preset Babel, który pozwala na transpilację nowoczesnego kodu JavaScript do kodu kompatybilnego z określonymi przeglądarkami. Automatycznie wykrywa, które funkcje JavaScript są wspierane przez docelowe przeglądarki i ładuje tylko niezbędne pluginy i polyfille.
Główne funkcje @babel/preset-env:
- Targetowanie przeglądarek: Pozwala na określenie docelowych przeglądarek za pomocą pliku konfiguracyjnego (np. browserslist).
- Automatyczne ładowanie polyfilli: Dzięki opcji
useBuiltIns
, polyfille są ładowane tylko wtedy, gdy są potrzebne. - Modularność: Ładuje tylko te pluginy, które są niezbędne do transpilacji określonych funkcji JavaScript.
Przykład konfiguracji @babel/preset-env:
- Instalacja:
npm install --save-dev @babel/preset-env
- Konfiguracja pliku .babelrc:
{ "presets": [ ["@babel/preset-env", { "targets": "> 0.25%, not dead", "useBuiltIns": "entry", "corejs": 3 }] ] }
Zalety @babel/preset-env:
- Optymalizacja kodu: Ładuje tylko niezbędne polyfille i pluginy, co minimalizuje rozmiar finalnego bundla.
- Elastyczność: Umożliwia precyzyjne targetowanie przeglądarek, co pozwala na wykorzystanie nowoczesnych funkcji tam, gdzie są one wspierane.
- Łatwość konfiguracji: Prosta konfiguracja umożliwia szybkie rozpoczęcie pracy.
@babel/preset-env jest niezbędnym narzędziem w nowoczesnym ekosystemie JavaScript, umożliwiającym pisanie przyszłościowego kodu, który działa we wszystkich przeglądarkach.