在我的项目中,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 生成。
最佳答案
是的,某些页面需要不同的样式表组合。每个组合必须单独缓存。不幸的是,浏览器不知道
?stylesheets=a.css,b.css
和?stylesheets=b.css,a.css
之间没有区别> 因此两者都需要缓存。这用于确保浏览器不会意外缓存动态生成的样式表。如果您使用像样的压缩器,则没有必要。通常,通过散列列表中每个文件的
最后修改
时间来找到 GUID。就像我说的,大多数压缩器会自动检查文件的新版本并丢弃旧的缓存版本。
我建议PHP Minify 。安装就像将文件夹复制到文档根目录一样简单。它还支持使用 Google Closure Compiler 进行 JavaScript 压缩。
关于php - 自动缩小和缓存CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7083566/