2013-06-24 32 views
9

Làm thế nào để rút gọn xử lý $scope.obj.subObj = { key: val ...};Làm thế nào để làm việc minification và nó ảnh hưởng đến các đối tượng lồng nhau góc?

từ những gì tôi hiểu được cuối cùng để sử dụng ở lại biến không thay đổi,

nhưng nếu tôi đã có yếu tố html

<div>{{obj.subObj.key}}</div> 

kết quả của giảm bớt sẽ rút ngắn mã để abckey? tha thứ cho tôi vì yêu cầu nghiệp dư, nhưng tôi đang cố gắng hiểu làm thế nào minification javascript đi.

+0

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

+0

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. –

Trả lời

9

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 :)

Các vấn đề liên quan