JavaScript minificato
Silktide controlla se i file di script scaricati dalla pagina sono stati minificati, ovvero riscritti per rimuovere gli spazi, i commenti e i nomi lunghi che sono utili solo a chi legge il codice. Gli script non minificati sono molto più grandi del necessario e rallentano il caricamento della pagina.
La non modifica il comportamento del codice. Per esempio:
// Prima della minificazione: leggibile, ma pesante
function calculateTotalPrice(itemPrice, quantity) {
return itemPrice * quantity;
}
// Dopo: comportamento identico, una frazione delle dimensioni
function c(a,b){return a*b}
Perché è importante
Il è spesso l'elemento più pesante che una pagina scarica e, a differenza delle immagini, deve anche essere elaborato prima che la pagina diventi completamente interattiva. Gli script non minificati si riducono regolarmente della metà o anche di più, e questo risparmio si ripete per ogni visitatore e per ogni visualizzazione di una pagina non memorizzata nella cache: lo notano soprattutto i visitatori che usano telefoni e connessioni più lente.
Poiché la minificazione è automatica e non modifica il comportamento, gli script di produzione non minificati sono quasi sempre il risultato di una svista: un passaggio della compilazione non eseguito oppure file di sviluppo distribuiti per errore.
Come risolvere il problema
- Attiva la minificazione nel processo di compilazione del sito. Ogni strumento di compilazione moderno include un minificatore, generalmente attivato per impostazione predefinita nelle compilazioni di produzione.
- Se il sito non dispone di un processo di compilazione, controlla il : la maggior parte include un'impostazione o un plugin che minifica automaticamente gli script.
- Come ultima risorsa, esegui i file tramite un minificatore autonomo prima di caricarli. Conserva gli originali leggibili: modificherai quelli e pubblicherai l'output minificato.
- Se un file segnalato appartiene a terze parti, verifica se offrono una versione minificata, come fa la maggior parte di loro.
Come esegue i test Silktide
- Carica la pagina in un browser reale, utilizzando il tipo di dispositivo, la velocità di connessione e la località di test configurati per i test di velocità.
- Esamina ogni file di script scaricato dalla pagina e stima quanto potrebbe essere ridotto se minificato.
- Segnala ogni file con un risparmio potenziale significativo e valuta la pagina in base al totale: un risparmio potenziale di circa 50 KB comporta una valutazione inferiore, mentre 250 KB o più corrispondono a una valutazione scarsa.
Risoluzione dei problemi
Il file sembra già minificato
I minificatori differiscono per livello di aggressività, quindi un file leggermente compattato può contenere comunque un risparmio significativo. Il controllo segnala di quanto il file potrebbe essere ridotto; eseguirlo tramite un minificatore aggiornato generalmente consente di ottenere la differenza prevista.
Abbiamo bisogno di codice leggibile per il debug
Conserva i file sorgente leggibili nel progetto ed esegui il debug con le mappe sorgente, che consentono agli strumenti per sviluppatori del browser di mostrare il codice originale mentre ai visitatori viene fornita la versione minificata. Non è mai necessario distribuire codice leggibile per ottenere un debug leggibile.