将 CSS/JS 文件组合在一起是一种最佳做法,这样可以减少对站点的请求。但是,究竟如何做到这一点并非易事。三种极端策略:
- 不要结合任何东西。适合缓存,但对于没有缓存文件的用户来说会有很多 HTTP 请求。
- 将网站上的每个文件合并为一个。也适用于缓存,并且只有一个请求,但是文件会不必要地大,并且会包含很多不需要的东西,这会减慢浏览器的速度并可能导致冲突。
- 仅合并当前页面所需的文件。只有一个请求,没有不需要的内容,但是对于缓存来说太可怕了——如果你有 10 个文件,它们可以以一千种可能的组合出现,所以即使你的访问者看到了一个包含文件 1 和 2 的页面以及另一个包含文件 3 和 4 的页面,他们仍然需要为包含文件 1、2 和 3 的页面下载新的组合文件。(如果我们想保留文件的顺序,情况会变得更糟。)
理想的解决方案可能是这三种策略的组合(组合一些在很多页面上使用的文件并将它们包含在任何地方,并将其余的组合成几个文件,希望与在其他页面上的方式相同)页),但很难找到。您需要知道网站上使用了哪些文件,在哪个页面(或哪种类型的页面)上使用了哪个文件,每种页面类型获得了多少访问量,其中有多少来自回访者......简而言之,它手动操作似乎是一个巨大的痛苦。我在找
- 理想情况下,足够智能的工具可以为您进行优化或提供帮助。
- 更现实地,可以统计哪些 CSS/js 文件包含在哪个页面上/这些文件的下载频率/两个文件一起下载的频率的工具。
- 如果没有好的工具,请提供有关如何手动执行的建议/策略/最佳实践