【发布时间】:2013-09-12 22:38:19
【问题描述】:
我正在努力提高 adobe cq 中的页面性能,并且我看到了各种网站(1、2),其中提到了 cq 类型的节点的 channels 属性: ClientLibraryFolder
我设置了一个包含 2 个组件(cmpA 和 cmpB)的小示例。两者都具有 cmps.cmp 的 categories 值,并且位于 apps 目录中。然后,我在 etc 文件夹中创建了另一个类型为 cq:ClientLibraryFolder 的节点,该文件夹的嵌入属性为 cmps.cmp 和值为 cmps.all
的类别属性在我看来,我有以下内容,这会导致来自各自客户端 lib 文件夹中的两个组件 css 的连接 css 文件。
<cq:includeClientLib css="cmps.all" />
当我将 !touch 添加为 cmpB 的 channels 属性时,然后将 chrome 中的 userAgent 覆盖到 iPhone , cmpB 的 css 仍然是串联的。
- localhost:4502/libs/cq/ui/content/dumplibs.html 验证 channels 属性设置为 !touch
- 我通过在 etc/clientlibs/foundation/librarymanager/DefaultChannelDetector.js 中添加一个 console.log 来确认当前频道是 touch
- 在 url 中加载 clientlibs.css 时添加 ?debug=true 可确认包含两个 clientlibs 中的 css
在给定特定用例的情况下,我想使用 channels 属性逐步淘汰某些 css(最终是 js)文件,同时又不会像文档模糊暗示的那样使用额外的逻辑使标记过于复杂。我的目标是我的最终结果是单个 css 文件(通过配置管理器(服务器/系统/控制台/configMgr)中的 Day CQ HTML 库管理器进行压缩和压缩。
我是否错误地使用了频道属性?它甚至意味着以我使用它的方式使用吗?任何见解将不胜感激。
【问题讨论】: