Javascript Compressor (o “packer”) è un algoritmo javascript scritto da Dean Edwards capace di ridurre drasticamente il peso del codice javascript comprimendolo in stringhe codificate secondo il pattern scelto.

La scelta è tra 4 pattern di compressione (none: toglie solo gli spazi, normal: toglie gli spazi e riduce i nomi variabile [shrink vars], numeric: converte tutto lo script in un eval(‘stringa codificata’), ascii: come numeric ma con un altro tipo di codifica [ascii appunto ^^]) , differenti tra loro in compatibilitàe compressione (ad esempio non tutti i sistemi saranno in grado di interpretare la compressione ascii).Attenzione però!
Lo strumento è potente, ma crea parecchi disagi… mi spiego meglio:
sono riuscito a comprimere di parecchio (da 21k a 11k °_°) un’applicazioncina ajax, ma ho dovuto correggere il codice per delle banalità.
Esempio:
se scrivessi un qualcosa tipo
var a = 8
var b = 'ciao'
l’interprete javascript del browser interpreterebbe il new line come segno di un nuovo statement.
Comprimendo le 2 righe scritte poc’anzi si verificheràun errore in quanto mancano i punti e virgola.
Ad ogni modo non c’è da preoccuparsi, basta abituarsi a scrivere codice corretto (entrate in strict mode
) e nessuno si faràdel male. Inoltre sempre nello stesso sito c’è anche una sezione “how to” che spiega nel dettaglio le potenzialitàdel packer.