将Javascript/CSS组合成一个或两个文件以获得更好的优化

ama*_*eur 4 c# asp.net optimization performance minify

我目前正在开发一个c#应用程序,它在后台异步地最小化和组合javascript/css,以加载到已完成的页面.创建组合的最小化文件后,它们将保存到磁盘上,对页面的所有后续请求都将加载此文件.

这样做的原因是为了协助页面上的性能.我有一个问题,如果组合文件很大,例如200 kb怎么办?如果是这种情况并且有2个单独的http请求,那么组合成2个文件会更好吗?该文件将被gzip压缩和缓存.

irc*_*ell 8

嗯,有两个主要的思想流派.

第一,尽可能减少HTTP请求的数量.这可以说将所有 CSS文件减少到一个怪物.最好下载400kb一次,而不是多个50kb文件.(和JS一样).

另一种是在必要时结合,但没有进一步.如果您只有网站的一个部分需要100kb的CSS,那么没有理由为您的用户减慢网站的其余部分.对于JS来说尤其如此,因为有很多站点在每个页面上都包含jQuery(例如),因为10%的站点使用它.

我对它的看法是两者的结合.如果我在大约50%的网站上使用代码或更多,我将其包含在"主"文件中.如果代码很小(小于5kb或10kb),我将其包含在主文件中.否则我将它拆分为单独的文件.

任何这一切的全部原因是为了改善用户体验.你可以做一个巨大的蛮力,并在每个页面加载2个相应的文件中加载所有的css和JS(确定它将被缓存).但是,如果着陆页不需要该代码的50%,那么您将不必要地以最大的影响减慢页面速度.

这就是为什么我认为解决这个问题的最佳方法是让人类分析情况.他们可以寻找重复和抽象.他们可以查看页面/站点的需求并确定最佳方案.除非你想让你的程序做到这一点(这很困难),否则它不会给出最好的结果(但是再一次,好的和好的之间有区别)......

那是我的0.02美元......