古いJavaScriptファイルはvar / clientlibsディレクトリにコンパイルされています
-
21-12-2019 - |
質問
最近、CQ5.6インスタンスでいくつかのJavaScriptファイルを更新しました。CQが次のページロード時に適切なファイルを再生成するように、vars / clientLibsフォルダを削除しました。再生成したときは、まだ元のJavaScriptを含めました。私は再確認され、オーサリングインスタンスと出版インスタンスの両方が新しいJavaScriptを持っていましたので、古いものを持っている場所がわからない。
SO、CQはそれがそのvarファイルを生成するファイルをキャッシュしますか?
正しい解決策はありません
他のヒント
CQS ClientLibsは htmllibraryManager 。jad、jdecompilerを使って実装の実装を確認してください。
1つの回避策私が見つけることは、ClientLibのノードの名前を変更することです。そのためMyClientLibの場合は、MyClientLib_Somethingelseに名前を変更するだけで、新しいJSを使用します(それはClientLibのHtmllibraryManagerのキャッシュをクリーン化します)。その後、名前を変更できます。
更新:
私は、ClientLibsを再構築できるURLに言及するのを忘れました。ここでは、Cache:/libs/granite/ui/content/dumplibs.rebuild.html
を無効にすることもできます。それは時々失敗しますが、それはうまくいくでしょう。:d
ClientLibsをチェックするための便利なURLです./libs/granite/ui/content/dumplibs.html
/ var / clientLibsキャッシュを削除した後は、Adobe Granite UI Commons (com.day.cq.cq-widgets)
ビューから/system/console/bundles
バンドルを再起動してみてください。
そのバンドルは、ClientLibsのコンパイルを担当し、そのメモリ内キャッシュを理論的に保持する責任があるcom.day.cq.widget.impl.HtmlLibraryManagerImpl
サービスを提供します。
ある時点では、このJSPコンパイラでは、/ var / classes / org / apache / jspフォルダを削除すると、JSPスクリプトサポートバンドルも再起動せずに再コンパイルを強制するのに十分ではありません。
これは一般的な問題であり、CSS / JSがクライアントブラウザにキャッシュされたときに最悪になります。CSS / JSファイルでバージョン番号を追加するには、サイトのACS Commons、BirdualLibs機能を使用することをお勧めします。参照してください: http:// Adobe-Consulting-services.github.io/acs-aem-commons/features/versioned-clientlibs.html