Kodeverktøy
Disse tre verktøyene tolker kildekoden din, skriver den om og skriver den ut igjen. Det de aldri gjør, er å kjøre den. Det skillet er hele sikkerhetsmodellen her, og det håndheves i koden framfor å bli lovet i en setning.
Populære verktøy
Koden din tolkes, den kjøres aldri
En minifiserer må forstå kildekoden din, og det betyr å tolke den til et syntakstre og skrive treet ut igjen. Den trenger ikke å evaluere noe, og denne gjør det ikke: her finnes ingen eval, ingen dynamisk Function og ingen forhåndsvisning som kjører skriptet ditt.
Det betyr mest for SVG. En SVG er et kjørbart dokument — den kan bære skript, hendelsesbehandlere og javascript:-URL-er. Alt slikt fjernes, to ganger: én gang av optimaliseringens egen regel og én gang til av en uavhengig runde som kjøres etterpå, fordi ett enkelt filter med én enkelt feil ikke er en sikkerhetsmodell.
Hva minifisering faktisk sparer
Å fjerne mellomrom og forkorte lokale navn tar typisk en tredjedel av rå kildekode. Mesteparten av gevinsten utover det kommer fra komprimeringen på serveren din, ikke fra minifisereren, så en minifisert fil som deretter gzippes er den realistiske sammenligningen — ikke det rå bytetallet.
Importene blir liggende urørt
En @import i CSS beholdes som tekst eller fjernes hvis du ber om det. Den følges aldri: å hente det den peker på ville betydd at denne siden sendte en forespørsel på dine vegne om en fil du limte inn, og det er nettopp det resten av nettstedet er bygd for ikke å gjøre.