質問
Symfony2でファイルごとに assets_version を使用することは可能ですか?
バックグラウンド
assets_version とassets_version_formatを使用してファイルのバージョンを管理し、CDN とブラウザー キャッシュのキャッシュ更新を強制します。
assets_version
これは見事に機能していますが、使用されるすべての静的リソースに対して1 つのパラメーターしかないことがわかりました。
私たちのウェブアプリには大量の静的リソースがあり、毎日本番環境に変更をデプロイしているため、これは問題です。この状況はキャッシュを殺します。:(
これが現在の構成です。
config.yml
framework:
templating:
engines: ['twig']
assets_version: %assets_version%
assets_version_format: "stv%%2$s/%%1$s"
# Assetic Configuration
assetic:
debug: %kernel.debug%
use_controller: false
# java: /usr/bin/java
filters:
cssrewrite: ~
closure:
jar: %kernel.root_dir%/java/compiler.jar
yui_css:
jar: %kernel.root_dir%/java/yuicompressor-2.4.6.jar
sometemplate.html.twig
{% stylesheets 'bundles/webapp/css/funCommon.css'
'bundles/webapp/css/funMobile.css'
filter='?yui_css'
%}
<link rel=stylesheet href='{{ asset_url }}'>
{% endstylesheets %}
{% javascripts 'bundles/webapp/js/app.js'
'bundles/webapp/js/utils.js'
filter='?closure' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% javascripts 'bundles/webapp/js/moduleX.js'
'bundles/webapp/js/utilsX.js'
filter='?closure' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
css ファイル、モジュール JS、またはその他のファイルを変更すると、すべてのパスが変更されます。
assets_version_format の version パラメータを javascript/stylesheet twig タグのパラメータで管理したいです。
これは私が探しているものです:
{% javascripts 'bundles/webapp/js/app.js'
'bundles/webapp/js/utils.js'
filter='?closure' **version='XX'** %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}