2012-10-24 37 views
15

Tôi đã cố gắng thêm nhiều danh mục để nhúng [] và phụ thuộc [] thay thế nhiều lần. Nhưng tôi luôn thấy lỗi độ phân giải phụ thuộc trong JavaScript trên trang web.Sự khác nhau giữa nhúng [] và phụ thuộc [] đối với loại ClientLibraryFolder là gì?

Ngoài ra, Làm cách nào để chỉ định thứ tự các danh mục trong mục nhập nhiều giá trị như nhúng []? Có cách nào chúng tôi có thể kiểm soát thứ tự nguồn JavaScript được tải trong khi khởi chạy trang web không?

Trả lời

27

categories là danh sách số nhận dạng để xuất bản ứng dụng khách dưới.

dependencies nên gây ra trang của bạn để có các yêu cầu thêm để clientlibs khác (bên ngoài "đăng ký")

embed nên "tổng hợp" những clientlibs khác INTO clientlib hiện tại (nội bộ đăng ký)

cả các thuộc tính có thể có nhiều giá trị và giao diện CRXDE Lite cho phép thay đổi thứ tự của các mục trong danh sách giá trị.

Với Clientlibs:

  • /etc/clientlibs/loại depa = [ "Depa"]
  • /etc/clientlibs/loại depB = [ "depB"]
  • /etc/clientlibs/danh mục depC = ["depC"]
  • /etc/clientlibs/useA categories = ["useA"], dependencies = ["depA", "depB"]
  • /etc/clientlibs/useB categories = ["useB "], nhúng = [" depB "," depC "]

Nếu một trang sử dụng "useA" <cq:includeClientLib categories="useA"/> thì HTML nên có yêu cầu depa, depB, useA (thông qua url thích hợp của họ, tức là /etc/clientlibs/depA.css

Nếu một trang sử dụng "useB" <cq:includeClientLib categories="useB"/> thì HTML nên chỉ có một yêu cầu sử dụngB. Nội dung của /etc/clientlibs/useB.css sẽ là sự kết nối nội dung của depB, depC, useB.

Trình quản lý thư viện tại {localhost} /system/console/configMgr/com.day.cq.widget.impl.HtmlLibraryManagerImpl có cấu hình gỡ lỗi để xác định xem các yêu cầu có được ghép nối hay không. Đây là tài liệu tại http://dev.day.com/docs/en/cq/current/deploying/configuring_osgi.html#par_variable_18

Để xác định nhiều phụ thuộc (giả sử bạn đang sử dụng maven để xây dựng từ hệ thống tệp của bạn và cài đặt vào CQ5), thư mục clientlibs sẽ có tệp ".content.xml" cần thuộc tính sau:

dependencies="[depB,depC]" 
+0

Giải thích tuyệt vời! – Oliver

+9

Một chi tiết bị thiếu mặc dù: Các phụ thuộc là transitive, Embeds thì không. Ví dụ: Phụ thuộc vào B mà nhúng C -> C + B và A được tải. Một nhúng B phụ thuộc vào C -> B + A được tải, C không phải là. Điều này có thể phức tạp nếu bạn muốn nhúng một số thư viện CQ (để yêu cầu một JS), và các thư viện đó phụ thuộc vào các thư viện CQ khác. Sau đó bạn cần phải nhúng tất cả chúng, theo thứ tự đúng. –

+0

Tôi nên thêm rằng 'loại' có nghĩa là trừu tượng ra khỏi cấu trúc thư mục.Do đó, KHÔNG hữu ích khi tạo nhãn danh mục về cơ bản bắt chước các thư mục. –

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