Hoppa till innehåll
FileSlimmer
Verktyg
Guider

Kodverktyg

De här tre verktygen tolkar din källkod, skriver om den och skriver ut den igen. Vad de aldrig gör är att köra den. Den skillnaden är hela säkerhetsmodellen här, och den upprätthålls i koden i stället för att utlovas i en mening.

Din kod tolkas, den körs aldrig

En minifierare måste förstå din källkod, vilket innebär att tolka den till ett syntaxträd och skriva ut det trädet igen. Den behöver inte utvärdera någonting, och den här gör det inte: det finns ingen eval, ingen dynamisk Function och ingen förhandsvisning som kör ditt skript.

Det spelar störst roll för SVG. En SVG är ett körbart dokument – den kan bära på skript, händelsehanterare och javascript:-adresser. Var och en av dem tas bort, två gånger: en gång av optimerarens egen regel och en gång till av ett fristående pass som körs efteråt, eftersom ett enda filter med en enda bugg inte är någon säkerhetsmodell.

Vad minifieringen faktiskt sparar

Att ta bort blanktecken och korta ner lokala namn tar typiskt bort en tredjedel av rå källkod. Det mesta av den återstående vinsten kommer från serverns komprimering, inte från minifieraren, så en minifierad fil som sedan gzip-komprimeras är den realistiska jämförelsen – inte antalet råa byte.

Importer lämnas i fred

En @import i CSS behålls som text eller tas bort på begäran. Den följs aldrig: att hämta det den pekar på skulle innebära att den här sidan gjorde en förfrågan å dina vägnar om en fil du klistrat in, vilket är precis det som resten av webbplatsen är byggd för att inte göra.