here과 같은 애셋을 미리로드하려고합니다.clientlibs 파일의 경로 가져 오기
나는 /apps/foundation/components/page/head.html
에 다음을 포함했다 :
<sly data-sly-use.appConfig="${'../../../utils/AppConfig.js'}">
<link rel="preload" href="${appConfig.assetsURL}/etc/designs/myapp/jquery/jquery-3.1.1.min.js">
<link rel="preload" href="${appConfig.mainStyle}/mainstyle.css">
</sly>
지금 포함될 필요가 최종 파일은 페이지에 따라 다른 경로를 가지고, clientlibs.js
및 각 페이지에 함께 넣어 clientlibs.css
있습니다. 최근 게시물 (/content/recent-posts.html)의 경로는 질문은 /etc/designs/myapp/posts/clientlibs.js
반면 홈페이지 (/content/homepage.html)에 대한 예를 들어 clientlibs.js의 경로 내가 구도를 어떻게 /etc/designs/myapp/homepage/clientlibs.js
입니다 이 애셋의 URL은 무엇입니까?
this gist에서 전역 변수를 사용해 보았지만 행운은 없었습니다. 어느 쪽도 자산에 올바른 길을 되돌려주지 않습니다.
실제로'templates' 속성을 사용하여이 레벨에서 템플릿을 사용하고 clientlib를 설정하고 있습니다. 그러나 우리가 링크 태그를 만들 필요가있는 헤드에서 나는 자산의 URL 만 필요로합니다. (예를 들어,
@TiberiuMaxim : 제안을 추가했습니다 – Vlad
Thx @vlad. 나는 이것을 보류했지만 지금 그것을 재개했다. 귀하의 예제를 실행하려고하면'package org.apache.sling.scripting.sightly.pojo does not exist'가 표시됩니다. 나는 이것을 내 프로젝트에 어떻게 추가 할 지 모른다. 이 방향으로 도움을 주실 수 있습니까? –