私のシングルページWebアプリケーションにSymfony 2.8を使用しています。私はすべての必要なリソースを提供するはずのファイルindex.html.twig
を持っています。たぶん明らかですが、開発環境では毎回すべてをリロードする必要がありますが、本番環境ではリロードする必要はありません。上記の必要なリソースは、別のバンドルのResources
からロードされ、vendor
フォルダにあります。以下に述べるようSymfony2/Assetic:インポートされたHTMLファイルのアセットパスにバンドルアノテーションを使用
このような理由から、私はconfig.yml
でAsseticを設定している:
assetic:
debug: "%kernel.debug%"
use_controller:
enabled: "%kernel.debug%"
workers:
cache_busting:
enabled: "%kernel.debug%"
(私はデバッグは、開発環境でのみ有効になっていることを想定しています)
私は/必要なCSSをロードしていますこのようなJavaScriptは
{% stylesheets
'@StubbornShowaBundle/Resources/public/stubborn.css'
'@StubbornShowaBundle/Resources/public/showa.css' %}
<link type="text/css" href="{{ asset_url }}" rel="stylesheet" />
{% endstylesheets %}
{% javascripts
'@StubbornShowaBundle/Resources/public/stubborn.js'
'@StubbornShowaBundle/Resources/public/showa.js' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
です。これは意図したとおりに動作しているようです。しかし、私もHTMLファイルをインポートしています。このように:
<link href="{{ asset('@StubbornShowaBundle/Resources/public/polymer/my-component.html') }}" rel="import"/>
ただし、上記のコードは機能しません。 @StubbornShowaBundle
注釈はasset
コマンドで使用できないようです。また、HTMLのインポートには、 "ループメソッド"(またはstylesheets
、javascripts
、images
)を呼び出す必要はありません。私が問題のファイルに直接リンクしている場合は、コーディングとは別に、周囲のコードとの完全性を完全に壊す醜いハックまで、私はSymfony/Assetic全体を自動的に破棄してリソースの並べ替えシステムを処理し、デバッグは混乱となります。デバッグ中にコードを変更するたびに資産を再ダンプするよう強制しない方法でこれを解決するにはどうすればよいですか? (?それは合理的な方法で解決することは可能です)
おそらく私の説明は不十分でしたが、私はインストールしてダンプできるという事実を認識しています。私が知りたいのは、スタイルシートとJavaScriptのバンドルアノテーションと同じ方法で、自分のHTMLインポートに直接リンクする方法です。 – StubbornShowaGuy
あなたはあなたのテンプレートからアセットを分離する必要があります。asseticはjs、css、img's、fonts asoのようなアセットを使用するためのものです。テンプレートを使用する場合は、小枝を使用してください。 ;-) –
あなたはテンプレートのために小枝を使うべきです、そしてそのテンプレートは資産と混在すべきではありませんが、HTMLであるものはすべてテンプレートではありません。 HTMLとは、それがHyperText Markup Languageで書かれたファイルであることを意味します。私の場合、ポリマーコンポーネントと外部ライブラリです。 – StubbornShowaGuy