2016-08-31 9 views
0

HTTP caching에서 작업 중이며 캐시 무효화를 구현하기 위해 ACS Versioned ClientLibs을 사용하고 있습니다. 이제 js 파일이 clientlib의 일부일 때 제대로 작동합니다. 예를 들어 <script src="/etc/designs/myapp/clientlibs/base.js">이 작동합니다. 그러나 도서관 내에서 개인 js에 액세스하려고하면 작동하지 않습니다. 예를 들어 <script src="/etc/designs/myapp/clientlibs/base/js/app1.js">이 실패합니다. 그 이유는 슬링 선택자가 clientlib 일 때 해결되는 MD5 해쉬입니다. 그러나 js를 개별적으로 호출 할 때 selector가 해결되지 않습니다. </base.hash.js>은 작동하지만 </base/js/app1.hash.js>은 실패합니다.슬링 선택기는 어떻게 작동합니까?

AEM이 clientlibs를 호출 할 때 선택기를 해결하는 방법을 알고 개별 js를 호출 할 때 어떻게합니까?

내가 특별히 작업하기 위해 선택기가 필요한 이유는 PageSpeed에 따라 대부분의 프록시는 정적 참조를 캐시하지 않습니다. param. 쿼리 매개 변수를 제거 할 것인지 묻습니다. 따라서 캐시 무효화를 위해 쿼리 매개 변수를 추가 할 수 없습니다. ClientLibraryResource

/etc/designs/myapp/clientlibs/base/js/app.js을 윈도우즈 NT입니다 :

+0

100 % 확인이 자원 WA 선택 (app.hash.js)를 요청할 수, 주석으로와하지 따라서 만 대답 : 결합 된 js 파일은 반환되기 전에 AEM에 의해 처리되므로 해시가 고려됩니다. 개별 파일은 처리없이 일반 바이너리로 다시 전송 된 것으로 보입니다. – Thomas

+0

그래 .. 그게 너무 추측이야. 하지만 누군가가 무슨 일이 일어나고 있는지 밝혀 내면 문제 해결을 위해 약간의 핫픽스를 생각할 수 있습니다. –

답변

0

을/etc/디자인/MyApp를/clientlibs /베이스는 CQ입니다 파일 리소스. 어떤 자원이 없습니다

... /베이스/JS/응용 프로그램이 당신

+0

이것은 리소스 분석기가 [HTMLLibrary] (https://docs.adobe.com/docs/en/cq/5-6-1/javadoc/) 인 경우에만 슬링 선택기를 구문 분석 할 수있는 가장 가까운 대답입니다. co.kr/day/cq/widget/HtmlLibrary.html). jcr : primaryType : nt : file의 경우 HTMLLibrary로 해결되지 않으며 리소스 분석기는 전체 텍스트를 단순히 해결 된 것으로 반환하므로 궁극적으로 실패합니다. 그리고 내 문제에 대한 해결책은 선택기를 제거하는 발송자 재 작성자를 작성하는 것입니다. –