Bất kỳ ý tưởng nào về cách sử dụng Google Closure Compiler để kết hợp nhiều tệp JavaScript với bất kỳ tối ưu hóa nào? Cụ thể, chúng tôi muốn sử dụng Closure để triển khai hai phiên bản của trang web kết hợp JavaScript của chúng tôi: phát hành và gỡ lỗi. Để phát hành, chúng tôi đang sử dụng --compilation_level SIMPLE_OPTIMIZATIONS --manage_closure_dependencies
đang hoạt động như dự định. Tuy nhiên, để gỡ lỗi, chúng tôi muốn JavaScript của chúng tôi được kết hợp nguyên vẹn/chưa sửa đổi để gỡ lỗi dễ dàng hơn. Dường như mức tối ưu hóa tối thiểu là WHITESPACE_ONLY
, mọi ý tưởng sẽ được đánh giá cao.Bất kỳ ý tưởng nào về cách sử dụng Trình biên dịch Google Closure để kết hợp nhiều tệp javascript với bất kỳ tối ưu nào?
Trả lời
Bật ra có tùy chọn định dạng tệp JavaScript được xử lý bằng cách sử dụng --formatting PRETTY_PRINT
. Tùy chọn thụt lề/định dạng (với khoảng trống) tệp JavaScript đầu ra, sao cho JavaScript dễ dàng gỡ lỗi.
Chúc các tài liệu là một chút chi tiết/hoàn chỉnh :)
Hai ý nghĩ đến ngay lập tức. Đầu tiên - Tại sao sử dụng trình biên dịch đóng cho nhiệm vụ đó, tại sao không chỉ là một cái gì đó như cat jsfile1.js jsfile2.js > debug.js
? Thứ hai - Closure Inspector sẽ cho phép bạn gỡ lỗi mã được biên dịch bằng Trình biên dịch Closure bằng FireBug.
Để giúp bạn làm việc với mã được chuyển đổi, bạn cũng có thể cài đặt Closure Inspector, một công cụ giúp dễ dàng sử dụng trình gỡ lỗi JavaScript Firebug với đầu ra của Trình biên dịch.
--formatting PRETTY_PRINT for beautifying
--debug true for meaningful names (after Advanced compilation)
Cờ '--debug true' chỉ áp dụng cho các bản biên dịch nâng cao (tức là không đơn giản)? – HOCA
Nó không chỉ dành cho chế độ Nâng cao. Trong chế độ Nâng cao, tên thuộc tính và chức năng được thay đổi. Nếu bạn bật gỡ lỗi, tất cả các tên đã được đổi tên thành phiên bản chứa tên gốc (chỉ khác nhau), vì vậy bạn có thể ngay lập tức tìm ra tên thuộc tính nào đang cung cấp cho bạn sự cố. Trong chế độ đơn giản, bạn không cần điều đó bởi vì các thuộc tính và chức năng không được đổi tên, nhưng bạn vẫn có thể sử dụng --debug để tìm ra biến cục bộ nào được đổi tên thành. –
Concatenation hoạt động như bạn mong muốn nó:
java -jar compiler.jar --js 1.js --js 2.js --js_output_file out.js
- 1. Bất kỳ ý tưởng nào về cách tích hợp mã F # với C++ gốc?
- 2. Cách biên dịch chương trình C mà không cần bất kỳ tối ưu hóa nào
- 3. Bất kỳ hướng dẫn nào về cách sử dụng phpDocumentor?
- 4. Bạn đã sử dụng bất kỳ trình thông dịch C++ nào (không phải trình biên dịch)?
- 5. Biên dịch bất kỳ Chương trình C nào bằng cách sử dụng "make" (01 makefile)
- 6. 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?
- 7. Thực hiện bất kỳ trình biên dịch c nào có thực hiện bất kỳ tính năng C1X nào không?
- 8. boost :: bất kỳ tối ưu hóa typeid cho C++ 11
- 9. Bất kỳ ý tưởng nào để chạy tín hiệu/khe Qt qua mạng?
- 10. Bất kỳ ý tưởng nào về cách chuẩn bị cho tương lai phát triển Flash/Flex/HTML5?
- 11. Cách liên kết với bất kỳ cổng nào có sẵn?
- 12. Bất kỳ hướng dẫn nào về libclang?
- 13. In bất kỳ loại tệp nào
- 14. Bất kỳ ai biết về việc triển khai java.util.Map được tối ưu hóa để sử dụng bộ nhớ thấp?
- 15. Biên dịch lại các phụ thuộc với Maven - có thể? Bất kỳ tăng hiệu suất nào?
- 16. Có bất kỳ đuôi đuôi động cơ Javascript nào được tối ưu hóa không?
- 17. Bất kỳ cách nào để sử dụng khung trong HTML5?
- 18. Django thiếu bản dịch của một số chuỗi. Bất kỳ ý tưởng tại sao?
- 19. Giữ bí mật phím SECRET - trong ứng dụng Android .. bất kỳ ý tưởng
- 20. Bất kỳ ai biết về bất kỳ mẫu T4 nào để tạo các lớp từ xsd?
- 21. Bất kỳ ý tưởng nào Tại sao mã C của tôi không thể đọc từ/proc?
- 22. Bất kỳ ý tưởng quy ước '#region chỉ thị' nào của .NET?
- 23. Bản ghi được liên kết với bất kỳ bảng nào?
- 24. Bất kỳ cách nào để giảm htmlspecialchars() CPU sử dụng?
- 25. Cách thích hợp để ẩn bất kỳ thẻ HTML nào?
- 26. XDocument.Descendants() không trả về bất kỳ phần tử nào
- 27. Bất kỳ lời khuyên nào tốt về cách tránh chu kỳ nhập trong Go?
- 28. Bất kỳ cách nào để khớp với giá trị trả về trong C++ 11?
- 29. Bất kỳ cách nào để xây dựng Google Documents như trình xem cho tệp PDF?
- 30. Bất kỳ hợp nhất FACEBOX nào?
Chúng ta có thể không chỉ đơn giản nối các tập tin JavaScript trong debug, bởi vì chúng tôi vẫn còn phụ thuộc vào việc đóng cửa để quản lý các phụ thuộc JavaScript. Tôi sẽ xem xét sử dụng Trình kiểm tra đóng cửa, thử thách duy nhất sẽ là nếu chúng tôi cần gỡ lỗi một sự cố trong trình duyệt khác. – HOCA