Công cụ thu nhỏ Javascript
Thu nhỏ Javascript lấy mã JS đẹp, được định dạng tốt mà bạn đã viết và xóa khoảng cách, thụt lề, xuống dòng và chú thích. Những thứ này không cần thiết để Javascript chạy thành công. Nó cũng làm cho Javascript khó đọc hơn khi xem nguồn.
Nhiều nhà phát triển sẽ duy trì một phiên bản 'đẹp' và khi triển khai dự án của họ, chạy các tập lệnh của họ thông qua một chương trình thu nhỏ. Họ cũng thường kết hợp nhiều tệp tập lệnh của mình thành một tệp duy nhất.
Tại sao nên sử dụng Javascript Minifier?
Mục đích của việc thu nhỏ là tăng tốc độ của một trang web. Việc thu nhỏ có thể làm cho một tập lệnh nhỏ hơn tới 20%, dẫn đến thời gian tải xuống nhanh hơn. Một số nhà phát triển cũng sẽ sử dụng nó để 'làm tối nghĩa' mã của họ. Điều này làm cho mã khó đọc, do đó làm cho việc đảo ngược kỹ thuật hoặc sao chép trở nên khó khăn hơn.
Một cách làm phổ biến khác là kết hợp tất cả các tệp Javascript cho một trang web thành một tệp. Điều này có một số lợi ích. Nó làm giảm số lượng yêu cầu HTTP cần thực hiện để có được tất cả các thành phần của một trang web. Nó cũng làm cho việc thu nhỏ và nén gzip hiệu quả hơn.
Ví dụ về Javascript thu nhỏ
Javascript được làm đẹp:
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);
}
Trở thành dạng thu nhỏ này:
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);}