Webpack
Webpack to popularny bundler modułów dla aplikacji JavaScript. Jego zadaniem jest zebranie rozproszonych plików projektu — modułów JS, arkuszy stylów, obrazów i innych zasobów — i połączenie ich w niewielką liczbę zoptymalizowanych paczek, które przeglądarka może wczytać szybko i efektywnie.
Jak działa webpack
Webpack analizuje kod, budując graf zależności: zaczyna od punktu wejścia i podąża za każdym importem, aby ustalić, co i w jakiej kolejności jest potrzebne. Następnie przekształca zasoby za pomocą tzw. loaderów (np. kompilacja stylów) i wtyczek (np. minifikacja), po czym generuje paczki wynikowe. Po drodze często uruchamia transpiler, aby nowoczesną składnię zamienić na wersję zrozumiałą dla starszych przeglądarek.
Po co to wszystko
Bez bundlera przeglądarka musiałaby pobierać dziesiątki lub setki osobnych plików, co spowalnia ładowanie. Webpack ogranicza liczbę żądań, usuwa nieużywany kod, dzieli aplikację na mniejsze fragmenty ładowane na żądanie i optymalizuje zasoby pod kątem wydajności. W praktyce instaluje się go i uruchamia poprzez menedżery pakietów, takie jak npm czy Yarn. Choć nowsze narzędzia budujące bywają szybsze i prostsze w konfiguracji, webpack pozostaje bardzo elastyczny i szeroko stosowany, zwłaszcza w rozbudowanych projektach wymagających precyzyjnej kontroli nad procesem budowania. Wybór narzędzia budującego wpływa na czas kompilacji, rozmiar wynikowych paczek i wygodę pracy zespołu, dlatego w większych projektach traktuje się go jako świadomą decyzję architektoniczną, a nie ustawienie domyślne.
Powiązane pojęcia
Najczęstsze pytania
Czym różni się webpack od transpilera?
Transpiler, np. Babel, tłumaczy kod z jednej wersji języka na inną. Webpack to bundler — spina wiele modułów i zasobów w paczki, a transpilację uruchamia jako jeden z etapów przetwarzania kodu.
