0

我指的是adobe 博客 ,根据标准指南,我们需要在 /etc/design/app/clientlibs 中嵌入所有特定于组件的客户端库。完成后,所有客户端库将合并为一个调用。

我有一个问题,如果我们这样做,AEM 会不会在页面加载时调用所有客户端库,这不会影响第一页加载时的性能吗?当然,后续调用会更轻吗?

还有什么方法可以让我仅在作者创建/编辑内容时或仅在作者模式下加载创作特定的客户端库?

4

1 回答 1

1

我有一个问题,如果我们这样做,AEM 会不会在页面加载时调用所有客户端库,这不会影响第一页加载时的性能吗?当然,后续调用会更轻吗?

目的是避免对代码中包含的每个单独的库/JS 进行多次网络调用。通过有效的压缩/缩小,尺寸得到优化。

要回答您的问题,需要权衡取舍,但从长远来看是有益的。在大多数情况下,有了调度程序和 CDN,第一次加载是唯一的瓶颈。

还有什么方法可以让我仅在作者创建/编辑内容时或仅在作者模式下加载创作特定的客户端库?

您可以并且应该仅在创作实例上包含创作客户端库,您可以通过在包含创作客户端库之前放置编辑模式检查来做到这一点。

看看/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 回答