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のグローバル変数を使用しようとしましたが、運がありません。どちらも資産への正しい道を返しません。
私は実際にテンプレートを使用していて、 'category'プロパティを使ってこのレベルでclientlibを設定しています。 ( ' ') しかし、リンクタグを作成する必要がある頭では、アセットのURLだけが必要です。スクリプトタグ全体ではありません。これは、カテゴリの小道具から資産のURLを取得するには、この再開を解決するようです。どのように私はこれを達成することができましたか? –
@TiberiuMaxim:提案を追加 – Vlad
Thx @vlad。私はこれを保留にしましたが、今すぐ再開しました。あなたの例を実行しようとすると、 'package org.apache.sling.scripting.sightly.pojo does not exist'が得られます。私は私のプロジェクトでこれをどのように追加するか分かりません。あなたはこの方向で助けてくださいできますか? –