Spring til indhold
FileSlimmer
Værktøjer
Guider

Kodeværktøjer

De tre værktøjer her fortolker din kildekode, skriver den om og skriver den ud igen. Det, de aldrig gør, er at køre den. Den forskel er hele sikkerhedsmodellen her, og den er håndhævet i koden frem for lovet i en sætning.

Din kode fortolkes, men køres aldrig

En minificering skal forstå din kildekode, og det betyder, at den fortolkes til et syntakstræ, som skrives ud igen. Den behøver ikke at evaluere noget, og det gør denne her ikke: der er ingen eval, ingen dynamisk Function og ingen forhåndsvisning, der kører dit script.

Det betyder mest for SVG. En SVG er et eksekverbart dokument — den kan bære scripts, hændelseshåndterere og javascript:-adresser. Alle sammen fjernes, to gange: én gang af optimeringens egen regel og én gang mere af et uafhængigt gennemløb bagefter, for ét enkelt filter med én enkelt fejl er ikke en sikkerhedsmodel.

Hvad minificering faktisk sparer

At fjerne mellemrum og forkorte lokale navne tager typisk en tredjedel af den rå kildekode. Størstedelen af den resterende gevinst kommer fra din servers komprimering, ikke fra minificeringen, så en minificeret fil, der derefter gzippes, er den realistiske sammenligning — ikke antallet af rå bytes.

Imports lades i fred

En @import i CSS bevares som tekst eller fjernes efter ønske. Den følges aldrig: at hente det, den peger på, ville betyde, at denne side lavede en forespørgsel på dine vegne om en fil, du selv har indsat — og det er præcis det, resten af siden er bygget til ikke at gøre.