【发布时间】:2016-08-31 06:16:40
【问题描述】:
我正在研究 HTTP caching 并实现缓存清除,我正在使用 ACS Versioned ClientLibs。现在,当 js 文件是 clientlib 的一部分时,它可以正常工作。例如<script src="/etc/designs/myapp/clientlibs/base.js"> 有效。但是当我尝试访问库中的单个 js 时,它不起作用。例如<script src="/etc/designs/myapp/clientlibs/base/js/app1.js"> 失败。原因是作为 sling 选择器添加的 MD5 哈希在它是 clientlib js 时被解析。但是单独调用 js 时选择器没有得到解决。 </base.hash.js> 有效,但 </base/js/app1.hash.js> 失败。
AEM 如何知道在调用 clientlibs 时解析选择器而在调用单个 js 时不解析?
我需要选择器专门工作的原因是,根据PageSpeed,大多数代理不缓存静态引用?参数。并要求删除查询参数。所以我不能为缓存破坏添加查询参数。
【问题讨论】:
-
不是 100% 确定,因此仅作为评论而不作为答案:组合的 js 文件在返回之前由 AEM 处理,因此会考虑哈希。单个文件似乎作为纯二进制文件发送回来,没有任何处理。
-
是的.. 那也是我推断的。但是,如果有人阐明正在发生的事情,可能会想出一些修补程序来解决这个问题。
标签: aem sling client-library