Narzędzie JavaScript Minify
Minifikacja JavaScriptu bierze ładny, dobrze sformatowany kod JS, który napisałeś i usuwa odstępy, wcięcia, nowe linie i komentarze. Nie są one wymagane do prawidłowego działania JavaScriptu. Utrudnia to również czytanie JavaScriptu podczas przeglądania źródła.
Wielu deweloperów będzie utrzymywać „ładną” wersję i po wdrożeniu swojego projektu uruchomi swoje skrypty za pomocą programu minifikacji. Często łączą również wiele plików skryptów w jeden plik.
Dlaczego warto używać Javascript Minifier?
Celem minifikacji jest zwiększenie szybkości witryny. Minimalizacja może zmniejszyć skrypt nawet o 20%, co skutkuje szybszym czasem pobierania. Niektórzy programiści używają jej również do „zaciemniania” swojego kodu. Utrudnia to odczytanie kodu, a tym samym utrudnia jego inżynierię wsteczną lub kopiowanie.
Powszechną praktyką jest również łączenie wszystkich plików JavaScript dla pojedynczej witryny w jeden plik. Ma to wiele zalet. Zmniejsza liczbę żądań HTTP, które należy wykonać, aby uzyskać wszystkie elementy witryny. Sprawia również, że minifikacja i kompresja gzip są bardziej efektywne.
Przykład minifikacji JavaScript
Upiększony 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);
}
Zostaje pomniejszone:
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);}