Tôi muốn sử dụng trình biên dịch đóng cửa của google trên nguồn javascript mà chúng tôi đang sử dụng. Trong chế độ phát triển, chúng tôi có xu hướng phá vỡ chức năng cho nhiều tệp nhưng để sản xuất muốn kết hợp chúng thành các mô-đun.Làm cách nào để chia javascript của tôi thành các mô-đun bằng Trình biên dịch đóng cửa của Google?
Khi gọi trình biên dịch, tôi có thể cung cấp cho nó danh sách tệp để bao gồm để biên dịch, nhưng đầu ra cho thấy trình biên dịch không lưu thứ tự của danh sách tệp.
Tôi đã tìm kiếm về nó và thấy rằng tôi có thể sử dụng goog.provide/good.require để kiểm soát sự phụ thuộc giữa các tệp js khác nhau. Vấn đề với đó là nó cho biết thêm mã để js của tôi mà tôi chỉ không cần hoặc muốn, ví dụ:
goog.provide("mainFile")
sẽ thêm này:
var mainFile = {};
tới file biên soạn js, một cái gì đó mà tôi không muốn. Chúng tôi không sử dụng thư viện đóng cửa google, tất cả những gì tôi muốn sử dụng là trình biên dịch.
Có cách nào để thông báo cho trình biên dịch thứ tự của các tệp mà không cần thêm chức năng "thư viện đóng cửa" mà tôi không cần? Dĩ nhiên tôi có thể tạo một công cụ của riêng mình, đầu tiên sẽ lấy tất cả các tệp, kết hợp chúng thành một trong đó sẽ là đầu vào của trình biên dịch, nhưng tôi muốn bỏ sót nếu nó có thể được thực hiện bởi trình biên dịch.
Sửa
Mục đích là để có thể sản xuất mô-đun như câu trả lời trong chủ đề này: Using the --module option in Closure Compiler to create multiple output files
Và vì vậy tôi muốn thêm vào đó là khả năng kiểm soát các tập tin đi vào mà mô-đun trong khi cũng có quyền kiểm soát theo thứ tự của họ. Hiện tại tôi không sử dụng các ký tự đại diện, nhưng tôi định làm như vậy trong tương lai (nếu có thể).
đơn giản là "cat file1.js file2.js> combined.js & & biên dịch ..." là tốt, nhưng trong trường hợp của chúng tôi phức tạp hơn một chút và chúng tôi sẽ phải viết một chương trình/tập lệnh thực hiện điều đó dựa trên một số logic. Nếu chúng ta bằng cách nào đó có thể nói cho trình biên dịch thứ tự của các tệp trong nâng cao nó có thể chỉ tiết kiệm thời gian thực hiện một chương trình như vậy.
Cảm ơn.
Làm thế nào về 'mèo file1 file2> tạm && biên dịch -js temp'? – georg
Bạn có sử dụng ký tự đại diện (* .js) hay bạn khai báo mỗi tệp theo thứ tự khi gọi trình biên dịch? – GillesC
Tôi đã chỉnh sửa câu hỏi của mình vì nó quá lớn để nhận xét. Cảm ơn. –