Alat za minimiziranje Javascripta
Kompaktizacija Javascripta uzima lijep, dobro oblikovan JS kod koji ste napisali i uklanja razmake, uvlačenje, nove retke i komentare. To nije potrebno za uspješan rad Javascripta. Također otežava čitanje Javascripta prilikom pregledavanja izvornog koda.
Mnogi programeri održavat će 'lijepu' verziju i nakon implementacije svog projekta pokrenuti svoje skripte kroz program za minifikaciju. Također često kombiniraju svoje brojne datoteke skripti u jednu datoteku.
Zašto koristiti Javascript Minifier?
Svrha minimizacije je povećati brzinu web stranice. Minimizacija može smanjiti skriptu do 20%, što rezultira bržim vremenom preuzimanja. Neki programeri će je također koristiti za 'zamagljivanje' svog koda. To otežava čitanje koda, a time i obrnuti inženjering ili kopiranje.
Također je uobičajena praksa kombinirati sve Javascript datoteke za jednu web stranicu u jednu datoteku. To ima niz prednosti. Smanjuje broj HTTP zahtjeva koje je potrebno napraviti da bi se dobili svi elementi web stranice. Također čini minifikaciju i gzip kompresiju učinkovitijima.
Primjer minimiziranja u Javascriptu
Uljepšani Javascript:
var a = document.createElement('a');
mimeType = mimeType || 'application/octet-stream';
if(navigator.msSaveBlob) {
navigator.msSaveBlob(new Blob([content], {
type: mimeType
}), fileName);
} else if(URL && 'download' in a) {
a.href = URL.createObjectURL(new Blob([content], {
type: mimeType
}));
a.setAttribute('download', fileName);
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
} else {
location.href = 'data:application/octet-stream,' + encodeURIComponent(content);
}
Postaje ovako minimizirano:
var a=document.createElement('a');mimeType=mimeType||'application/octet-stream';if(navigator.msSaveBlob){navigator.msSaveBlob(new Blob([content],{type:mimeType}),fileName);}else if(URL&&'download'in a){a.href=URL.createObjectURL(new Blob([content],{type:mimeType}));a.setAttribute('download',fileName);document.body.appendChild(a);a.click();document.body.removeChild(a);}else{location.href='data:application/octet-stream,'+encodeURIComponent(content);}