【发布时间】:2012-07-27 05:14:27
【问题描述】:
我找不到太多这方面的信息。
我想将所有的 css(实际上是 js)文件编译成这样的:
css/all-c498dsfbc.css
现在我只能得到这些:
css/all.css
css/c498dsfbc.css
css/all.css?v=123
第一个很烂,因为它根本没有缓存破坏。
第二个生成一个可用于缓存清除的哈希,但由于某种原因,当我更改 .css 文件中的某些内容然后再次运行时它不会改变:
$ php app/console assetic:dump --env=prod --no-debug
第三个也很糟糕,因为我需要手动更改版本,如下所述: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
【问题讨论】:
-
第二个没有改变,b/cassetic 使用文件名而不是内容来生成它的哈希。我正在寻找同样的东西,看起来 1.1 - github.com/kriswallsmith/assetic/issues/116 已经内置了一些东西。我会努力让它工作。使用版本号并在每次更改时更新它很糟糕:(