2016-08-31 8 views
0

私はHTTP cachingに取り組んでおり、キャッシュバスト処理を実装するためにACS Versioned ClientLibsを使用しています。これはjsファイルがclientlibの一部であるときにうまく動作します。たとえば、<script src="/etc/designs/myapp/clientlibs/base.js">が動作します。しかし、私がライブラリ内の個人にアクセスしようとすると、それは動作しません。たとえば、<script src="/etc/designs/myapp/clientlibs/base/js/app1.js">が失敗します。理由は、スリッピングセレクタがclientlib jsのときに解決されるため、MD5ハッシュが追加されたためです。しかし、セレクタを個別に呼び出すときにセレクタが解決されません。 </base.hash.js>は動作しますが、</base/js/app1.hash.js>は失敗します。スリングセレクタはどのように機能しますか?

個々のjsを呼び出すときにclientlibsを呼び出すときにセレクタを解決する方法はありますか?

私が具体的に動作するためにセレクタが必要な理由は、PageSpeedによると、ほとんどのプロキシはスタティックリファレンスをキャッシュしません。 param。クエリのパラメータを削除するかどうかを尋ねます。だから私はキャッシュの破棄のためのクエリのparamを追加することはできません。

+0

ないので、コメントだけのようにしていないとして、100%わからを要求することはできませんがありません答え:結合されたjsファイルは、返される前にAEMによって処理され、ハッシュが考慮されます。個々のファイルは処理なしで単純なバイナリとして返送されるようです。 – Thomas

+0

うん..それは私もあまりにも推測している。しかし、誰かが何が起こっているのかを明かにすると、おそらく問題を回避するためのいくつかの修正プログラムを考えることができます。 –

答えて

0

の/ etc /デザイン/ myappに/ clientlibs /ベース CQです:ClientLibraryResource

/etc/designs/myapp/clientlibs/base/js/app.jsはNTです:ファイルリソース。

何のリソース... /ベース/のJS /アプリは、これはあなたがこのリソースWAセレクタ(app.hash.js)

+0

これは、リソースリゾルバがスリングセレクタを[HTMLLibrary](https://docs.adobe.com/docs/en/cq/5-6-1/javadoc/)である場合にのみ解析することができる最も近い回答です。 com/day/cq/widget/HtmlLibrary.html)。 jcr:primaryType:nt:fileの場合、HTMLLibraryとして解決できず、リソースリゾルバは完全なテキストを単に返すだけで、最終的には失敗します。そして、私の問題の解決策は、セレクタを取り除くためにディスパッチャリライタを書くことです。 –

関連する問題