我试图多次添加多个类别来交替嵌入[]和依赖[]。但我总是在网站上看到JavaScript中的依赖项解析错误。
另外,如何在多值条目中指定类别的顺序,如embed []?有没有什么办法可以控制网站启动时加载的JavaScript源的顺序?
categories
是发布clientlib的标识符列表。
dependencies
应该导致您的页面有额外的请求到其他clientlibs(外部“订阅”)
embed
应该将那些其他clientlib“聚合”到当前的clientlib(内部订阅)
两个属性都可以有多个值,CRXDE Lite界面允许更改值列表中的项目顺序。
鉴于Clientlibs:
如果页面使用“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]"
要检查所需的clientlibs是否为embed,您可以使用ClientLibs Optimizer Tool:https://adobe-consulting-services.github.io/acs-aem-tools/features/clientlibs-optimizer/index.html它还为您提供了保留嵌入式clientlibs的顺序