2013-04-24 14 views
13

Perché le persone passano attraverso il dolore di minimizzare i file JavaScript e CSS se possono semplicemente attivare la compressione gzip sul server Web? Ciò darà lo stesso (o anche meglio) risultato nella preformance del traffico.Perché le persone minificano css e javascript, quando abbiamo gzip?

Il minification offre ulteriori vantaggi?

+0

questioni minification per alcuni dispositivi mobili in cui i file di una certa dimensione non sono stati memorizzati nella cache. – cimmanon

+2

Perché non entrambi? Rimozione di commenti, almeno, e quindi gzipping? – FelipeAls

+0

La concatenazione è importante per ridurre il numero di richieste HTTP, ma l'ossessione delle comunità web per la minimizzazione mi sembra patetica. –

risposta

10

È possibile utilizzare gzip (che di solito è integrato nei server Web) in combinazione con Minification. Minification fa un sacco di cose aggiuntive che gzip non può, tuttavia, come la rimozione di commenti, la ridenominazione di variabili lunghe a nomi di variabili più brevi, ecc.

I dati trasferiti risultanti possono essere significativamente più piccoli del semplice gzipping dell'originale .js. Dipende, ovviamente, dal codice sorgente .js.

È possibile controllare Compressorater (http://compressorrater.thruhere.net/). Puoi inserire il tuo .js e questo verrà risolto usando una varietà di librerie con e senza gzip e mostrandoti i risultati. Puoi vedere il confronto tra semplicemente gzip e gzip + minificato dalle varie librerie.

+0

In realtà, la minifying CSS non può abbreviare alcun nome, rimuovere solo alcuni caratteri e commenti non necessari, che a volte sono molto piccoli;) Ho appena testato la versione minz + gzip vs gzip di uno dei miei file css e la differenza era così piccola che non ho nemmeno preoccuparsi di minimizzarlo (sì, questo progetto non ha un processo configurato per questo, se lo facesse, non mi preoccuperei nemmeno di pensare a questa differenza :)) – Pavelloz

2

Minimizzando Javascript e CSS non solo si chiude, ma aggiunge altre ottimizzazioni impossibili da zippare.

Ad esempio, è possibile modificare il nome di una variabile lunga mediante minifying. Tutte le istanze di quella variabile saranno quindi solo un carattere. Un'altra cosa che rimuove rimuove i commenti. Questo non può essere fatto da gzip.

A parte che minification solito fasci diversi file in un unico riducendo così la quantità di richieste

parte minification si dovrebbe anche usare gzip

+0

"è possibile modificare il nome di una variabile lunga." - Questo non è ciò che fa il minifying. Si chiama offuscamento. – Ian

+2

Il valore ridurrà anche la lunghezza dei nomi delle variabili (se lo ritiene sicuro). Prova il minificatore di google o il minificatore YUI e vedrai che lo fa anche tu. Ovviamente anche questo offusca il codice perché è più difficile da leggere, quindi è fondamentalmente un'operazione di due in uno. – Kenneth

+0

Ma non è quello che è la minificazione. Minification rimuove gli spazi bianchi, i caratteri non necessari, i commenti, ecc. L'offuscamento cambia il codice, ma lascia la sua funzionalità come lo stesso. Solo perché certi "minificatori" fanno entrambi, non significa che è ciò che è la minificazione. So che sono tecnico, ma comunque – Ian

0

Gzip compressione:

In poche parole, la compressione gzip funziona trovando stringhe simili all'interno di un file di testo e sostituendo temporaneamente tali stringhe per ridurre le dimensioni generali del file. Questa forma di compressione è particolarmente adatta per il web perché i file HTML e CSS contengono in genere molte stringhe ripetute, come spazi, tag e definizioni di stile.

Minification:

è il processo di rimozione di tutti i caratteri non necessari dal codice sorgente, senza cambiare la sua funzionalità. Questi caratteri non necessari di solito includono caratteri di spazio bianco, caratteri di nuova riga, commenti e talvolta delimitatori di blocchi, che vengono utilizzati per aggiungere leggibilità al codice ma non sono necessari per l'esecuzione.

Riferimenti:

+6

Rispondi alla domanda –

+3

@ JonasÄppelgran La distinzione tra gzip e minification risponde alla domanda Se hai bisogno di ulteriori chiarimenti, ti preghiamo di spiegare come – Ian

+5

Spiegare i fatti sottostanti non risponde a nessuna delle tre domande poste. Lezione e potrebbe essere una buona parte della buona risposta, ma è inutile e offensivo nel modo in cui lo stai fornendo –

Problemi correlati