Từ: http://en.wikipedia.org/wiki/Minification_(programming)
Thu nhỏ (cũng giảm thiểu hoặc giảm thiểu), trong ngôn ngữ lập trình máy tính và đặc biệt là JavaScript, là quá trình loại bỏ tất cả các ký tự không cần thiết từ mã nguồn, không làm thay đổi chức năng của nó.
Vì vậy, nếu trình chỉnh sửa có thể phát hiện ra rằng nó có thể viết lại an toàn $scope.obj.subObj
đến a.b.c
thì sẽ. Tuy nhiên,
Tuy nhiên, bất kỳ biến số nào từ phạm vi toàn cầu, như document
, window
hoặc jQuery
sẽ không được giảm thiểu vì mã khác (ngoài phạm vi của tệp này) có thể phụ thuộc vào nó.
Bước tiếp theo từ việc rút gọn là sử dụng máy nén như Trình biên dịch đóng cửa của Google hoặc Máy nén YUI của Yahoo. Các chương trình này thường là các bộ khai thác mạnh hơn. Họ có thể thay thế một cuộc gọi hàm bằng chức năng nội dòng hoặc thay đổi một phương thức nhất định bằng phương pháp ngắn hơn hoặc nhanh hơn. Điều này đòi hỏi nhiều kiến thức về JavaScript và tối ưu hóa hiệu suất.
Bạn có thể khuấy động tỷ lệ nén bằng cách thả yêu cầu tương thích nhất định, nhưng tôi đã tìm thấy mã kết quả là rất không ổn định vì vậy tôi không nghĩ rằng chúng ta hoàn toàn có được nêu ra :)
Một minifier đàng hoàng sẽ không rút ngắn các thuộc tính công khai được sử dụng ở nơi khác. Cái nào bạn đang dùng? – Bergi
Bạn sử dụng công cụ nào để rút gọn? Một số công cụ nén các giao diện, một số - không. Ví dụ, YUI Compressor sẽ không thay đổi tên của các biến toàn cầu và nội dung của chúng - chỉ đối số hàm và tên biến cục bộ sẽ được rút gọn. Bạn có thể sử dụng nó một cách an toàn. –