2010-07-08 28 views
21

Tôi đang tạo một thư viện JavaScript khá lớn, sử dụng Trình biên dịch đóng gói cho cả nén tuyệt vời cũng như các hệ thống kiểm tra và cảnh báo kiểu.Sử dụng tùy chọn --module trong Trình biên dịch đóng cửa để tạo nhiều tệp đầu ra

Tôi muốn tạo nhiều tệp đầu ra, vì các tệp được tải không đồng bộ (và một số tệp chỉ được tải theo yêu cầu).

Poking xung quanh mã nguồn, tôi đã tìm thấy cờ --module, cũng như một số cờ liên quan. Mã nguồn cho biết thông tin sau về tùy chọn:

Đặc tả mô-đun javascript. Định dạng là <name>:<num-js-files>[:[<dep>,...][:]]]. Tên mô-đun phải là duy nhất. Mỗi dep là tên của một module mà module này phụ thuộc vào. Các mô-đun phải được liệt kê theo thứ tự phụ thuộc và các tệp nguồn js phải được liệt kê theo thứ tự tương ứng. Trường hợp cờ --module xuất hiện liên quan đến --js cờ không quan trọng

... và đó là tất cả những gì tôi có thể tìm thấy. Tôi rất muốn tìm hiểu thêm về cách sử dụng tùy chọn này, có ai có kinh nghiệm ở đây không? Ngoài ra, nếu có một cách khác để tạo nhiều tệp đầu ra, tôi là tất cả các tai.

+0

Xin chào, tôi đã tự hỏi nếu bạn đã từng tìm ra điều này. Tôi đang mắc kẹt với một vấn đề tương tự. –

+1

Xây dựng giải pháp hack bằng Python tại đây: https://github.com/fortes/js-project-template – Fortes

Trả lời

20
java -jar compiler.jar^
--module jq:1: --js jquery-1.6.2.js^
--module t:1:jq: --js test.js^
--compilation_level ADVANCED_OPTIMIZATIONS 

Ví dụ này sẽ biên dịch ra 2 tác phẩm cho bạn:

  • jq.js
  • t.js

jq.js sẽ jquery 1.6.2 với việc rút gọn tiên tiến và t.js sẽ sử dụng phiên bản rút gọn của JQuery đúng cách.

Tôi ước có một JavaFiddle tôi có thể đăng bài này để chứng minh điều đó.


Cũ hơn phiên bản

câu trả lời ban đầu này là cho một phiên bản cũ của Closure Compiler. Tôi đã để nó nguyên vẹn bên dưới trong trường hợp bạn đang ở trong một môi trường cần giữ phiên bản cũ hơn tại chỗ.

Làm thế nào để xử lý nhiều tập tin đầu ra, hay còn gọi là module: http://groups.google.com/group/closure-compiler-discuss/browse_thread/thread/ec7f6809b19b019e/25a94f3994173840

Copy/dán:

java -jar Build\Tools\compiler.jar^
--compilation_level=ADVANCED_OPTIMIZATIONS^
--externs Build\jQuery.externs.js^
--js Build\Output\Compiling.js^
--js Script/Themes.lang.js^
--js Script/Themes.js^
--module Core:3^
--js UI/ThemeChooser/ThemeChooser_en.htm.js^
--js UI/ThemeChooser/ThemeChooser.js^
--module UI_ThemeChooser:2:Core^
--js UI/VerticalTabs/VerticalTabs_en.htm.js^
--js UI/VerticalTabs/VerticalTabs.js^
--module UI_VerticalTabs:2:Core^
--js Pager/Pager_en.htm.js^
--js Pager/jquery.Pager.js^
--js Pager/Pager.js^
--module Pager:3:VerticalTabs^
--module_output_path_prefix .\Compiled\ 

Và ông cũng lưu ý, --js_output_file là không thích hợp khi xuất ra mô-đun.

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