在 Symfony2 中,如何将日期附加到资产文件名

In Symfony2 how can I append a date to the assetic filenames

我在 symfony 中使用 assetic,我想在它创建的文件名末尾附加一个时间戳或日期字符串。

这样做的目的是为了更好地控制浏览器缓存,所以每次我 运行 assetic:dump,我所有编译的资源都会有一个新的文件名,用户浏览器会下载新的文件.

这是防止浏览器使用旧的(缓存的)资产文件的最佳方式吗?

如果是,我如何将时间戳附加到文件名?

我建议,为了控制浏览器的缓存,请执行以下操作:

app/config/config.yml

framework:
   templating:
       assets_version: %assets_version%

此设置将使资产附加 ?vX 到资产 url(X 是您的 %asset_version% 参数)。

parameters.yml

parameters:
    assets_version: 1

每次要部署新版本的资产并让用户浏览器获取新内容时,都需要更改资产版本。

还有AssetsVersionBundle增加命令给你增加%assets_version%。只需输入

app/console assets_version:increase

这个包的文档很好地涵盖了资产版本控制问题