Symfony 2でアセットを操作する方法に関するヒントが必要です。たとえば、画像が追加されるたびにasset:updateを常に実行する必要がありますか? Asseticがcssおよびjavascriptファイルの管理を行っていることは知っていますが、画像についてはどうですか? Symfony 2を使用したフロントエンド開発のベストプラクティスは何ですか?開発、デプロイ、変更を簡単にするために、アプリでcss、画像、jsファイルをどのように設定しますか?
画像については、パブリックフォルダに追加した場合、assets:update
を実行する必要はないと思います
ただし、バンドルのリソースフォルダー内に画像を追加する場合は、OSとassets:install
の呼び出し時に使用したオプションに応じて、必要になる場合があります。
シンボリックリンクをサポートするOS(Linux、OS X、およびWindows以外のすべてのOS)を使用している場合、アセット呼び出しをインストールできます(呼び出しを正確に覚えていませんが、ここで重要なのはシンボリックリンクオプションです) :
php app/console assets:install web --symlink
この方法では、各バンドルのリソースのコピーを保持する代わりに、シンボリックリンクが作成されるため、更新する必要はありません。シンボリックリンクをサポートしないOSを使用している場合、アセットを更新または再インストールし続ける必要があると思います(実際、常にassets:install
を使用しましたが、更新オプションがあることは知りませんでした:P) 。
セットアップに関しては、通常、バンドル内でのみ使用される場合はすべてのcss、js、イメージ、およびパブリックリソースをバンドル内に配置し、多くのバンドルで使用される場合はパブリックフォルダーに配置するか、使用する予定です他のバンドルで。
Symfony 2.7以降、これによりweb
ディレクトリに相対シンボリックリンクが生成されます。
php app/console assets:install web --symlink --relative
Composer.jsonで以下を追加します:
"extra": {
"symfony-assets-install": "relative"
}
これにより、composer update
の相対シンボリックリンクも生成されます。
--symlinkについて考えてみてください。一度設定(config)して永遠に使用できます。さらに必要な場合は http://www.w3docs.com/snippets/symfony/how-to-keep-symlinks -in-web-bundles-after-composer-update.html