吊索选择器如何工作?

How does sling selectors work?

我正在研究 HTTP caching and to implement cache busting, I am using 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,大多数代理不缓存静态引用?参数。并要求删除查询参数。所以我不能为缓存破坏添加查询参数。

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

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

没有资源.../base/js/app您不能通过选择器请求此资源(app.hash.js)