php - 自动缩小和缓存CSS

标签 php caching minify

在我的项目中,CSS 文件可以进行预处理,然后可以选择缩小(取决于配置)。

Q1。是否应该为 CSS 文件的不同组合生成多个缓存变体?

res.php?stylesheets=test.css,test2.css,test3.css
res.php?stylesheets=test.css,test3.css

第二季度。过去我注意到此类缓存文件被赋予了某种 GUID。如何根据请求生成这样的 ID?

res.php?stylesheets=test.css,test2.css,test3.css
  => cache/css/a3cadfeA33afADSFwwrzgnzzddsveraeAE
res.php?stylesheets=test.css,test3.css
  => cache/css/ergope4t5oiyk0sfb9x0fHkg04mm04tjzG

请原谅上述 ID 的幼稚!

不知何故,我需要能够从指定的样式表重新生成相同的 ID。

我的问题只是关于多个变体的缓存和 ID 生成。

最佳答案

  1. 是的,某些页面需要不同的样式表组合。每个组合必须单独缓存。不幸的是,浏览器不知道 ?stylesheets=a.css,b.css?stylesheets=b.css,a.css 之间没有区别> 因此两者都需要缓存。

  2. 这用于确保浏览器不会意外缓存动态生成的样式表。如果您使用像样的压缩器,则没有必要。通常,通过散列列表中每个文件的最后修改时间来找到 GUID。就像我说的,大多数压缩器会自动检查文件的新版本并丢弃旧的缓存版本。

我建议PHP Minify 。安装就像将文件夹复制到文档根目录一样简单。它还支持使用 Google Closure Compiler 进行 JavaScript 压缩。

关于php - 自动缩小和缓存CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7083566/

相关文章:

java - 使用 Java 上的 Caffeine 在到期时执行操作

google-chrome - chrome 隐身模式缓存是存储在磁盘还是内存中,是否加密?

javascript - 有没有什么工具可以让缩小后的js正常显示?

javascript - 来自命令行的 Uglify-js 不会破坏变量名

php - 如何在 jQuery 中使用 !important

php - 在 Woocommerce 3 的购物车和结帐页面上显示 SKU

php - 在多对多关系的情况下如何插入数据透视表? (拉拉维尔 5.3)

android 从 picasso 缓存中删除一些图片

php - 缩小,如何清除缓存?

php - 使用 PDO 查询重置我的服务器