在制作中,当缩小css(php app / console assetic:dump)时,会重新创建该文件,但名称不会更改。
因此用户浏览器保留旧版本的缓存。解决方法是在css名称之后添加一个像?v = 12这样的参数来强制缓存,但还有其他解决方案吗? Symfony如何生成css文件名?使用md5命名该文件可以解决问题,因为当文件更改时,它的名称也会改变。
{% stylesheets filter='cssrewrite,?yui_css'
'bundles/app/css/style.css'
%}
<link rel="stylesheet" type="text/css" media="screen" href="{{ asset_url }}" />
{% endstylesheets %}
在我的源代码中,文件名在css更改后仍然是相同的事件:
<link rel="stylesheet" type="text/css" media="screen" href="/css/b3ba425.css" />
答案 0 :(得分:0)
不幸的是,似乎没有比添加版本号强制用户缓存更好的方法了。然而,这可能会以很好的方式实现自动化:
有KachkaevAssetsVersionBundle提供assets_version:increment
任务,所以你需要做的就是:
添加 config.yml
framework:
templating:
assets_version: %assets_version%
然后在 parameters.yml.dist / parameters.yml :
中parameters:
assets_version: v1
任务assets_version:increment
会为您增加v1
值。
我还建议您将此命令添加到composer
post install
或post update
脚本