我正在进行HTTP缓存并实现缓存清除,我正在使用ACS Versioned ClientLibs 。 现在,当它是clientlib的一部分时,这适用于js文件。 例如<script src="/etc/designs/myapp/clientlibs/base.js">有效。 但是当我尝试访问库中的单个js时它不起作用。 例如, <script src="/etc/designs/myapp/clientlibs/base/js/app1.js">失败。 原因是当吊索选择器是clientlib js时,添加了MD5哈希作为吊索选择器。 但是单独调用js时,选择器没有得到解决。 </base.hash.js>有效但</base/js/app1.hash.js>失败。
AEM如何知道在调用clientlibs时解析选择器而在调用单个js时没有做到?
我需要选择器专门工作的原因是,根据PageSpeed ,大多数代理都没有使用缓存静态引用? PARAM。 并要求删除查询参数。 所以我无法为缓存清除添加查询参数。
I am working on HTTP caching and to implement cache busting, I am using ACS Versioned ClientLibs. Now this works fine for js file when it is part of clientlib. For example <script src="/etc/designs/myapp/clientlibs/base.js"> works. But when I try to access an individual js within the library it doesnt work. For example <script src="/etc/designs/myapp/clientlibs/base/js/app1.js"> fails. The reason is the MD5 hash added as sling selector gets resolved when it is a clientlib js. But selector is not getting resolved when calling js individually. </base.hash.js> works but </base/js/app1.hash.js> fails.
How does AEM know to resolve selectors when calling clientlibs and doesnt do when calling individual js?
And the reason I need selectors to work specifically is, as per PageSpeed, most proxies donot cache static references with ? param. And asks to remove the query params. So I cant add query param for cache busting.
最满意答案
/ etc / designs / myapp / clientlibs / base是一个cq:ClientLibraryResource
/etc/designs/myapp/clientlibs/base/js/app.js是一个nt:文件资源。
没有资源... / base / js / app这你不能请求这个资源wa选择器(app.hash.js)
/etc/designs/myapp/clientlibs/base is a cq:ClientLibraryResource
/etc/designs/myapp/clientlibs/base/js/app.js is a nt:file resource.
There is no resource .../base/js/app this you can't request this resource w a selector (app.hash.js)
更多推荐
发布评论