加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 没有查询的资产自动缓存清除?

发布时间:2020-12-13 17:42:14 所属栏目:PHP教程 来源:网络整理
导读:我找不到太多关于此的信息. 我想将所有css(和js确实)文件编译成这样的东西: css/all-c498dsfbc.css 现在我只能得到这些: css/all.csscss/c498dsfbc.csscss/all.css?v=123 第一个很糟糕,因为它根本没有缓存破坏. 第二个生成一个可用于缓存清除的哈希,但由于
我找不到太多关于此的信息.

我想将所有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

解决方法

在我们的项目中,为了确保Varnish不为每个部署缓存新内容,我们手动更改版本 – 而资产选择那个.我认为,这是一种常见的做法.但在我们的例子中 – 它将它保存在web / version-1.2.3 / css / all.css等文件夹中.

我们的框架部分配置:

templating:
        engines: ['twig']
        assets_version: %release_version%
        assets_version_format: "version-%%2$s/%%1$s"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读