Cho*_*per 4 php symfony assetic
我找不到太多关于此的信息.
我想将所有css(和js确实)文件编译成这样的东西:
css/all-c498dsfbc.css
Run Code Online (Sandbox Code Playgroud)
现在我只能得到这些:
css/all.css
css/c498dsfbc.css
css/all.css?v=123
Run Code Online (Sandbox Code Playgroud)
第一个很糟糕,因为它根本没有缓存破坏.
第二个生成一个可用于缓存清除的哈希,但由于某种原因,当我在.css文件中更改某些内容然后再次运行时它不会更改:
$ php app/console assetic:dump --env=prod --no-debug
Run Code Online (Sandbox Code Playgroud)
第三个也很糟糕,因为我需要手动更改版本,如下所述:http://symfony.com/doc/current/reference/configuration/framework.html#ref-framework-assets-version.另外,我认为使用查询不是一个好主意(我认为某些浏览器或CDN可能不喜欢这样).如果文件名被更改会更好:'all-c498dsfbc.css'.如果我没记错的话,这就是在Rails中完成的.
有什么想法吗?
编辑
似乎缺少这个功能,我不敢相信:https://github.com/kriswallsmith/assetic/pull/190
在我们的项目中,为了确保Varnish不为每个部署缓存新内容,我们手动更改版本 - 而资产选择那个.我认为,这是一种常见的做法.但在我们的例子中 - 它将它保存在文件夹中web/version-1.2.3/css/all.css.
我们的framework部分配置:
templating:
engines: ['twig']
assets_version: %release_version%
assets_version_format: "version-%%2$s/%%1$s"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5140 次 |
| 最近记录: |