web-dev-qa-db-ja.com

ClientLibraryFolderタイプのembed []とdependencies []の違いは何ですか?

Embed []とdependencies []に同じ意味で複数のカテゴリを何度も追加しようとしました。しかし、私は常にWebサイトのJavaScriptで依存関係解決エラーを目にします。

また、embed []のような複数の値のエントリでカテゴリの順序を指定するにはどうすればよいですか?ウェブサイトの立ち上げ時に読み込まれるJavaScriptソースの順序を制御する方法はありますか?

22
exception

categoriesは、clientlibを公開するための識別子のリストです。

dependenciesにより、ページでotherclientlibs(外部の「サブスクライブ」)への追加のリクエストが発生するはずです。

embedは、これらの他のclientlibを現在のclientlibに「集約」する必要があります(内部サブスクライブ)

両方のプロパティは複数の値を持つことができ、CRXDELiteインターフェイスでは値リスト内の項目の順序を変更できます。

与えられたClientlibs:

  • / etc/clientlibs/depAcategories = ["depA"]
  • / etc/clientlibs/depBcategories = ["depB"]
  • / etc/clientlibs/depCcategories = ["depC"]
  • / etc/clientlibs/useAcategories = ["useA"]、dependencies = ["depA"、 "depB"]
  • / etc/clientlibs/useBcategories = ["useB"]、embed = ["depB"、 "depC"]

ページで「useA」<cq:includeClientLib categories="useA"/>が使用されている場合、HTMLにはdepA、depB、useAのリクエストが含まれている必要があります(適切なURL、つまり/etc/clientlibs/depA.css

ページが "useB" <cq:includeClientLib categories="useB"/>を使用している場合、HTMLにはuseBのリクエストのみが含まれている必要があります。 /etc/clientlibs/useB.cssの内容は、depB、depC、useBの内容を連結したものになります。

{localhost} /system/console/configMgr/com.day.cq.widget.impl.HtmlLibraryManagerImplのライブラリマネージャーには、要求が実際に連結されているかどうかを判断するためのデバッグ構成があります。これは http://dev.day.com/docs/en/cq/current/deploying/configuring_osgi.html#par_variable_18 に文書化されています。

複数の依存関係を定義するために(mavenを使用してファイルシステムからビルドしてCQ5にインストールしていると仮定)、clientlibsフォルダーには次の属性を必要とするファイル「.content.xml」があります。

dependencies="[depB,depC]"
35
IT Gumby

埋め込みに必要なclientlibsを確認するには、ClientLibs Optimizer Toolを次の場所から使用できます。 https://Adobe-consulting-services.github.io/acs-aem-tools/features/clientlibs-optimizer/index.html それはまたあなたが埋め込みclientlibsを保持するべきである順序をあなたに与えます

0
OmP