7

Tôi làm cách nào để sử dụng trình biên dịch Google Closure để xóa mã không sử dụng?Tôi làm cách nào để sử dụng trình biên dịch Google Closure để xóa mã JavaScript không sử dụng?

Tôi đang sử dụng điều khiển JQuery Slider nhưng không sử dụng bất kỳ thứ gì khác trong JQuery. Vì vậy, tôi đọc trình biên dịch Google Closure ở chế độ Nâng cao có thể xóa mã không sử dụng, nhưng tôi không biết cách.

Tôi có frontpage.html liên kết đến một điều khiển JQuery, JQuery UI và JQuery Slider bên ngoài từ trang html được lưu trữ trên trang web của tôi.

Trên frontpage.html của mình, tôi cũng có JavaScript được nhúng trong HTML để khởi tạo điều khiển JQuery Slider.

Làm cách nào để sử dụng Tôi sử dụng online Closure Compiler để đánh giá frontpage.html, JQuery, JQuery UI và JQuery Slider của mình để xóa tất cả mã JQuery không sử dụng mà tôi không sử dụng?

+0

Từ kinh nghiệm của riêng tôi, không có điểm nào trong việc sử dụng nó trên một mã có chứa jQuery. Trình biên dịch đóng cửa sẽ không loại bỏ crap không sử dụng của jquery. Bạn sẽ tốt hơn nếu bạn viết một cái gì đó tương tự trong javascript bản địa. –

Trả lời

2

Đầu tiên là người mới bắt đầu, tôi đề nghị bạn thử tối ưu hóa đơn giản. Bởi vì nó hoạt động mà không có bất kỳ cấu hình và sản lượng kết quả tuyệt vời. Đừng bị đánh lừa bởi tên. Tối ưu hóa đơn giản giúp tiết kiệm tốt hơn so với bất kỳ công cụ nén nào khác ngoài đó. Cấp độ nâng cao có thể là bước tiếp theo của bạn nhưng nó là phức tạp hơn một chút.

Đối với việc sử dụng trình biên dịch. Lời khuyên của tôi là đóng gói tất cả các tập lệnh của bạn vào một tệp javascript, tải lên nó vào trang web của bạn để nó sẽ có url, chuyển nó tới trình biên dịch trực tuyến. Sau đó, bạn nhấp vào AddCompile và bạn đã hoàn tất.

Ở phía bên tay phải, mã được biên dịch bạn sẽ thấy. Một tệp có tên default.js sẽ được tạo và bạn có thể tải xuống.

Bước tiếp theo là để đổi tên nó yêu cầu của bạn, sau đó upload máy chủ của bạn, thay đổi .js tài liệu tham khảo trong HTML và bạn đang thực hiện khá nhiều. Chúc vui vẻ!

4

Có hai cách để loại bỏ/loại trừ mã không sử dụng từ kịch bản tổng sản lượng của bạn:

  • Đầu tiên, liên quan đến việc sử dụng ADVANCED_OPTIMIZATIONS biên soạn cấp (tham khảo Advanced Compilation and Externs cho lời giải thích chi tiết và sử dụng)
  • Thứ hai, là cho phép trình biên dịch để manage dependencies (tức là sử dụng lá cờ --manage_closure_dependencies biên soạn

trong số hai lựa chọn, sử dụng --manage_closure_dependencies cờ để loại bỏ mã không sử dụng ít chi tiết hơn (tức là không bao gồm mã ở cấp tệp), nhưng nó cho phép bạn duy trì ở mức SIMPLE_OPTIMIZATIONS trình biên dịch. Trong cả hai trường hợp, bạn sẽ phải bao gồm url để jQuery và jQueryUI kịch bản và mã của bạn mà tiêu thụ các jQuery Slider từ trang-một cái gì đó của bạn như thế này (lựa chọn 1):

// ==ClosureCompiler== 
// @compilation_level ADVANCED_OPTIMIZATIONS 
// @output_file_name default.js 
// @code_url http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js 
// @code_url http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.js 
// ==/ClosureCompiler== 

// ADD YOUR CODE HERE 

Hope this helps.

0

ADVANCED_OPTIMIZATION của trình biên dịch đóng cửa hiện không có khả năng tách rời jQuery. Các nỗ lực của jQuery để giảm thiểu chính nó bằng cách sử dụng mở rộng thời gian chạy thông minh, các bí danh khác nhau và chức năng phục vụ các mục đích khác nhau tùy thuộc vào các tham số đã chuyển tất cả công việc cùng nhau để làm cho jQuery mờ đục đối với trình biên dịch. Điều đó nói rằng, Compiler đóng gói thích hợp ADVANCED_OPTIMIZATION hỗ trợ cao trên danh sách mong muốn của jQuery cho jQuery 1.8.

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