Vai al contenuto
FileSlimmer
Strumenti
Guide

Strumenti codice

Questi tre strumenti analizzano il tuo sorgente, lo riscrivono e lo stampano di nuovo. Quello che non fanno mai è eseguirlo. In quella distinzione sta tutto il modello di sicurezza di questa sezione, ed è applicata nel codice invece che promessa in una frase.

Il tuo codice viene analizzato, mai eseguito

Un minificatore deve capire il tuo sorgente, cioè analizzarlo in un albero sintattico e ristamparlo da quell'albero. Non ha bisogno di valutare nulla, e questo non lo fa: niente eval, niente Function dinamica, nessuna anteprima che esegua il tuo script.

Vale soprattutto per l'SVG. Un SVG è un documento eseguibile: può contenere script, gestori di eventi e URL «javascript:». Ognuno di questi viene rimosso due volte, una dalla regola dell'ottimizzatore stesso e una da un passaggio indipendente che gira dopo, perché un solo filtro con un solo bug non è un modello di sicurezza.

Quanto fa risparmiare davvero la minificazione

Togliere gli spazi e accorciare i nomi locali toglie di norma un terzo del sorgente grezzo. Il resto del guadagno arriva soprattutto dalla compressione del tuo server, non dal minificatore: il confronto realistico è quindi un file minificato e poi compresso con gzip, non il conteggio dei byte grezzi.

Gli import restano dove sono

Un @import nel CSS viene conservato come testo, oppure rimosso se lo chiedi. Non viene mai seguito: scaricare ciò a cui punta significherebbe che questa pagina ha fatto una richiesta per conto tuo a proposito di un file che hai incollato, cioè esattamente ciò che il resto del sito è costruito per non fare.