Minifier koda
Uklonite razmake, komentare i nepotrebne znakove iz HTML-a, CSS-a i JavaScripta.
Zašto minificirati kod?
Minifikacija uklanja sve nepotrebne znakove iz izvornog koda bez promjene njegove funkcionalnosti. To uključuje bijeli prostor, prijelome redaka, komentare i neobavezne sintaksne elemente. Rezultat je manja datoteka koja se brže preuzima, brže raščlanjuje i troši manje propusnosti. Svaki sačuvani kilobajt je važan — posebno na mobilnim mrežama gdje je propusnost ograničena i skupa.
Profesionalne web stranice rutinski minificiraju sve CSS, JavaScript i HTML u produkcijskim izgradnjama. Alati poput webpack, esbuild, Vite i Parcel automatski rukuju minifikacijom kao dio cjevovoda izgradnje. Ovaj samostalni alat koristan je za brze jednokratne zadatke minifikacije, testiranje ili kada trebate minificirati isječak bez postavljanja sustava za izgradnju.
Što se uklanja?
- Komentari — i jednolinjski (//) i višelinjski (/* */) komentari potpuno se uklanjaju.
- Bijeli prostor — razmaci, tabulatori i prijelomi redaka uklanjaju se ili sažimaju na minimum potreban.
- Neobavezni znakovi — završni točka-zarezi, suvišne zagrade i druga sintaksa koji jezici toleriraju, ali ne zahtijevaju.
HTML minifikacija
HTML minifikacija uklanja komentare (<!-- -->), sažima bjeline između oznaka i uklanja nepotrebne prijelome redaka i uvlačenja. Čuva sadržaj unutar oznaka <pre>, <code> i <textarea> gdje je bjeline važna. Dobro minificirani HTML može biti 10–30% manji od originala.
CSS minifikacija
CSS minifikacija uklanja komentare (/* */), sažima bjeline oko selektora i svojstava, uklanja zadnji točka-zarez u svakom bloku deklaracija i skraćuje vrijednosti boja (npr. #ffffff postaje #fff). Napredni minifikatori također spajaju dvostruke selektore i uklanjaju prepisana svojstva.
JavaScript minifikacija
JavaScript minifikacija uklanja komentare, sažima bjeline i uklanja nepotrebne točka-zareze. Napredni minifikatori (poput Tersera ili esbuild-a) idu dalje preimenovanjem lokalnih varijabli u kraća imena, umetanjem konstanti i uklanjanjem mrtvog koda. Ovaj alat vrši osnovnu minifikaciju prikladnu za brze zadatke.
Dobre prakse
Uvijek čuvajte neminificirani izvorni kod u kontroli verzija. Nikada ne uređujte minificirane datoteke izravno — praktički su nečitljive. Koristite source mapove u razvoju za otklanjanje grešaka u minificiranom kodu mapiranjem natrag na originalni izvor. Za produkcijske web stranice, integrirajte minifikaciju u vaš proces izgradnje kako bi se odvijala automatski pri svakom postavljanju.
Kombinirajte minifikaciju s gzip ili Brotli kompresijom na vašem web poslužitelju radi maksimalnih uštedina. Minifikacija smanjuje veličinu izvora, a algoritmi kompresije poput Brotlija dodatno smanjuju veličinu prijenosa za 60–80%. Zajedno, datoteka JavaScript od 100 KB može se prenijeti kao samo 15–20 KB.
Često postavljana pitanja
Utječe li minifikacija na funkcionalnost koda?
Osnovna minifikacija (uklanjanje bjeline i komentara) nikada ne mijenja funkcionalnost. Napredne tehnike minifikacije poput preimenovanja varijabli i eliminacije mrtvog koda teorijski mogu uzrokovati probleme ako kod oslanja na nazive varijabli u runtime-u (npr. putem eval). Ovaj alat vrši samo sigurnu, osnovnu minifikaciju.
Koliko prostora štedi minifikacija?
Tipične uštedine kreću se od 10% za već sažet kod do 60% za jako komentirani i uvučeni kod. CSS obično bilježi smanjenje od 15–25%. HTML bilježi 10–20%. JavaScript s mnogo komentara može bilježiti smanjenje od 30–50% prije naprednih optimizacija.