Minifikator kodu
Usuń białe znaki, komentarze i zbędne znaki z HTML, CSS i JavaScript.
Dlaczego minifikować kod?
Minifikacja usuwa wszystkie zbędne znaki z kodu źródłowego bez zmiany jego funkcjonalności. Obejmuje to białe znaki, podziały wierszy, komentarze i opcjonalne elementy składniowe. Wynikiem jest mniejszy plik, który pobiera się szybciej, parsuje szybciej i zużywa mniej przepustowości. Każdy zaoszczędzony kilobajt ma znaczenie — szczególnie w sieciach mobilnych, gdzie przepustowość jest ograniczona i kosztowna.
Profesjonalne strony internetowe rutynowo minifikują cały CSS, JavaScript i HTML w kompilacjach produkcyjnych. Narzędzia takie jak webpack, esbuild, Vite i Parcel obsługują minifikację automatycznie jako część potoku kompilacji. To samodzielne narzędzie jest przydatne do szybkich zadań jednorazowej minifikacji, testowania lub gdy musisz zminifikować fragment bez konfigurowania systemu kompilacji.
Co jest usuwane?
- Komentarze — zarówno jednoliniowe (//) jak i wieloliniowe (/* */) są całkowicie usuwane.
- Białe znaki — spacje, tabulatory i znaki nowej linii są usuwane lub zwijane do wymaganego minimum.
- Opcjonalne znaki — kończące średniki, zbędne nawiasy i inne elementy składniowe, które języki tolerują, ale nie wymagają.
Minifikacja HTML
Minifikacja HTML usuwa komentarze (<!-- -->), zwija białe znaki między tagami i usuwa zbędne znaki nowej linii i wcięcia. Zachowuje treść w tagach <pre>, <code> i <textarea>, gdzie białe znaki mają znaczenie. Dobrze zminifikowany HTML może być o 10–30% mniejszy niż oryginał.
Minifikacja CSS
Minifikacja CSS usuwa komentarze (/* */), zwija białe znaki wokół selektorów i właściwości, usuwa ostatni średnik w każdym bloku deklaracji i skraca wartości kolorów (np. #ffffff staje się #fff). Zaawansowane minifikatory scalają też zduplikowane selektory i usuwają nadpisane właściwości.
Minifikacja JavaScript
Minifikacja JavaScript usuwa komentarze, zwija białe znaki i usuwa zbędne średniki. Zaawansowane minifikatory (takie jak Terser lub esbuild) idą dalej, zmieniając nazwy zmiennych lokalnych na krótsze, wstawiając stałe i usuwając martwy kod. To narzędzie wykonuje podstawową minifikację odpowiednią do szybkich zadań.
Najlepsze praktyki
Zawsze przechowuj niezminifikowany kod źródłowy w systemie kontroli wersji. Nigdy nie edytuj zminifikowanych plików bezpośrednio — są praktycznie nieczytelne. Używaj source maps w fazie deweloperskiej do debugowania zminifikowanego kodu przez odwzorowanie go z powrotem do oryginalnego źródła. Dla produkcyjnych stron internetowych integruj minifikację z procesem kompilacji, aby odbywała się automatycznie przy każdym wdrożeniu.
Połącz minifikację z kompresją gzip lub Brotli na serwerze WWW dla maksymalnych oszczędności. Minifikacja redukuje rozmiar źródła, a algorytmy kompresji, takie jak Brotli, dodatkowo redukują rozmiar transferu o 60–80%. Razem, plik JavaScript o rozmiarze 100 KB może być przesłany zaledwie jako 15–20 KB.
Często zadawane pytania
Czy minifikacja wpływa na funkcjonalność kodu?
Podstawowa minifikacja (usuwanie białych znaków i komentarzy) nigdy nie zmienia funkcjonalności. Zaawansowane techniki minifikacji, takie jak zmiana nazw zmiennych i eliminacja martwego kodu, mogą teoretycznie powodować problemy, jeśli kod polega na nazwach zmiennych w czasie wykonywania (np. przez eval). To narzędzie wykonuje tylko bezpieczną, podstawową minifikację.
Ile miejsca oszczędza minifikacja?
Typowe oszczędności wahają się od 10% dla już zwięzłego kodu do 60% dla kodu z licznymi komentarzami i wcięciami. CSS zazwyczaj zmniejsza się o 15–25%. HTML o 10–20%. JavaScript z wieloma komentarzami może zmniejszyć się o 30–50% przed zaawansowanymi optymalizacjami.