0

我正在研究HTTP 缓存并实现缓存破坏,我正在使用 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,大多数代理不会缓存静态引用与 ? 参数。并要求删除查询参数。所以我不能为缓存破坏添加查询参数。

4

1 回答 1

0

/etc/designs/myapp/clientlibs/base 是一个 cq:ClientLibraryResource

/etc/designs/myapp/clientlibs/base/js/app.js 是一个 nt:file 资源。

没有资源 .../base/js/app 这你不能请求这个资源 wa 选择器(app.hash.js)

于 2016-09-01T23:16:15.260 回答