公式のSymfony2 docsで説明されているように、Twig テンプレートでは、次のようにアセットにリンクできます。
<img src="{{ asset('images/logo.png') }}" alt="My logo" />
これにより、リソースへの正しいパスがレンダリングさlogo.pngれます (Symfony2 アプリが存在するフォルダーによって異なります)。
さて、実行時に (たとえば、オートコンプリートの結果として) 画像をロードする必要がある Javascript コードを使用すると仮定すると、Twig の関数によって提供されるのと同じ結果を Javascript でどのように達成できるassetでしょうか?
いくつかの注意:
- FOSJsRoutingBundleのようなものが存在するかもしれませんが、私は本当にそれを無視します!
logo.pngファイルなどの既知のリソースのパスを生成し、変数の文字列を空の文字<script>var known = {{asset('images/logo.png)')}}</script>列に置き換えてパスを取得するという汚い方法が考えられます。しかし、それは汚い方法です!knownimages/logo.png