0

Adobe ブログを参照していましたが 、標準的なガイドラインに従って、すべてのコンポーネント固有のクライアント ライブラリを /etc/design/app/clientlibs に埋め込む必要があります。完了すると、すべての clientlib が 1 つの呼び出しに統合されます。

このようにすると、AEM はページの読み込み時にすべての clientlib を呼び出さず、最初のページの読み込みのパフォーマンスに影響しませんか? もちろん、その後の呼び出しは軽くなりますか?

また、作成者がコンテンツを作成/編集している場合、または作成者モードでのみ、特定の clientlibs をオーサリングする方法はありますか?

4

1 に答える 1

1

このようにすると、AEM はページの読み込み時にすべての clientlib を呼び出さず、最初のページの読み込みのパフォーマンスに影響しませんか? もちろん、その後の呼び出しは軽くなりますか?

目的は、コードに含めた個々のライブラリ/JS への複数のネットワーク呼び出しを回避することです。効果的な圧縮/縮小により、サイズが最適化されます。

あなたの質問に答えるには、トレードオフがありますが、長期的には有益です。ほとんどの場合、ディスパッチャーと CDN が配置されているため、最初の読み込みが唯一のボトルネックになります。

また、作成者がコンテンツを作成/編集している場合、または作成者モードでのみ、特定の clientlibs をオーサリングする方法はありますか?

オーサリング インスタンスのみにオーサリング clientlib を含めることができ、また含める必要があります。オーサリング クライアント ライブラリを含める前に、編集モード チェックを配置することでこれを行うことができます。

それを見て/libs/wcm/foundation/components/page/author.html、編集/オーサリングライブラリを含めるための編集モードをチェックします-

<sly data-sly-use.wcmInit="initwcm.js"
      data-sly-use.clientLib="${'/libs/granite/sightly/templates/clientlib.html'}"
      data-sly-test="${!wcmInit.wcmmode.disabled && wcmInit.isTouchAuthoring}" data-sly-call="${clientLib.all @ categories='cq.authoring.page'}" />
<sly data-sly-test="${!wcmInit.wcmmode.disabled && !wcmInit.isTouchAuthoring}" data-sly-call="${clientLib.all @ categories='cq.wcm.edit'}" />
于 2016-11-03T15:31:56.873 に答える