raatools/

Kód minifier

Távolítsa el a szóközöket, megjegyzéseket és felesleges karaktereket a HTML-ből, CSS-ből és JavaScriptből.

Miért minifikáljuk a kódot?

A minifikáció eltávolítja a forráskódból az összes felesleges karaktert anélkül, hogy megváltoztatná a funkcionalitását. Ide tartoznak a szóközök, a sortörések, a megjegyzések és az opcionális szintaktikai elemek. Az eredmény egy kisebb fájl, amely gyorsabban töltődik le, hamarabb feldolgozható, és kevesebb sávszélességet használ. Minden megspórolt kilobájt számít – különösen mobilhálózatokon, ahol a sávszélesség korlátozott és drága.

A professzionális weboldalak rendszeresen minifikálnak minden CSS-t, JavaScriptet és HTML-t az éles buildjükben. Az olyan eszközök, mint a webpack, az esbuild, a Vite és a Parcel automatikusan kezelik a minifikációt a build folyamat részeként. Ez az önálló eszköz akkor hasznos, ha gyors, egyszeri minifikációra van szükség, teszteléshez, vagy ha kódrészletet kell minifikálni build-rendszer felállítása nélkül.

Mi kerül eltávolításra?

  • Megjegyzések – mind az egysoros (//) és a többsoros (/* */) megjegyzések teljesen törlődnek.
  • Szóközök – a szóközök, tabulátorok és sortörések eltávolításra kerülnek, vagy a szükséges minimumra csökkennek.
  • Opcionális karakterek – záró pontosvesszők, felesleges zárójelek és más szintaktikai elemek, amelyeket a programozási nyelvek megtűrnek, de nem igényelnek.

HTML-minifikáció

A HTML-minifikáció eltávolítja a megjegyzéseket (<!-- -->), összevonja a tagek közötti szóközöket, és megszünteti a felesleges sortöréseket és behúzásokat. A szóközöket megtartja a <pre>, <code> és <textarea> tagheken belül, ahol a szóközöknek tartalmi jelentősége van. Jól minifikált HTML 10–30%-kal kisebb lehet az eredetinél.

CSS-minifikáció

A CSS-minifikáció eltávolítja a megjegyzéseket (/* */), összevonja a szelektorok és tulajdonságok körüli szóközöket, eltávolítja az utolsó pontosvesszőt minden deklarációs blokkban, és rövidíti a színértékeket (pl. a #ffffff #fff-re változik). A fejlettebb minifikálók emellett összevonják a duplikált szelektorokat és eltávolítják a felülírt tulajdonságokat.

JavaScript-minifikáció

A JavaScript-minifikáció eltávolítja a megjegyzéseket, összevonja a szóközöket és eltávolítja a felesleges pontosvesszőket. A fejlettebb minifikálók (mint a Terser vagy az esbuild) ennél tovább mennek: átnevezik a lokális változókat rövidebb névvel, beágyazzák a konstansokat és eltávolítják a halott kódot. Ez az eszköz az alapszintű minifikációt végzi, amely gyors feladatokra alkalmas.

Bevált módszerek

Mindig tartsa a minifikálatlan forráskódot verziókezelő rendszerben. Soha ne szerkessze közvetlenül a minifikált fájlokat – azok szinte olvashatatlanok. Fejlesztés közben használjon source map-eket a minifikált kód hibakereséséhez, amelyek visszaképezik azt az eredeti forrásra. Az éles weboldalakhoz integrálja a minifikációt a build folyamatba, hogy minden telepítéskor automatikusan megtörténjen.

A maximális megtakarítás érdekében kombinálja a minifikációt gzip vagy Brotli tömörítéssel a webszerveren. A minifikáció csökkenti a forrásméretét, a Brotli-hoz hasonló tömörítési algoritmusok pedig további 60–80%-kal csökkentik az átviteli méretet. Együtt alkalmazva egy 100 KB-os JavaScript-fájlból mindössze 15–20 KB-os lehet az átviendő mérete.

Gyakran ismételt kérdések

Befolyásolja-e a minifikáció a kód működését?

Az alapszintű minifikáció (szóközök és megjegyzések eltávolítása) soha nem változtatja meg a funkcionalitást. A fejlettebb technikák, például a változóátnevezés és a halott kód eliminálása elméletileg problémákat okozhatnak, ha a kód futásidőben a változónevekre támaszkodik (pl. eval segítségével). Ez az eszköz csak biztonságos, alapszintű minifikációt végez.

Mekkora helyet takarít meg a minifikáció?

A jellemző megtakarítás 10%-tól (már tömör kódnál) 60%-ig terjedhet (sokat kommentált és behúzott kódnál). A CSS általában 15–25%-os csökkentést ér el. A HTML 10–20%-ot. A sok megjegyzést tartalmazó JavaScript akár 30–50%-os csökkentést is elérhet a fejlett optimalizálások előtt.