连接javascript文件是否仍然有利

Is it still advantageous to concatenate javascript files?

本文关键字:是否 javascript 文件 连接      更新时间:2023-09-26

是否对现代浏览器进行了任何分析,以确定脚本串联是否仍然有益?chrome似乎可以并行加载许多脚本,所以只要AMD依赖关系链很浅(或者所有依赖关系都是预先需要的),串联可能不会加快加载过程。我正在寻找实际的数据,但想法是受欢迎的。

对我来说,串联可能会减慢进程,因为现在可以并行编译多个脚本。

简短回答:

是的。

更长的答案:

每个额外请求的文件都会添加(所谓的开销):

  • DNS查找-如果DN尚未缓存
  • TCP握手
  • HTTP请求本身

然后才开始文件的真正下载

因此,通过连接可以保存这些因素,这些因素会在许多文件中累积起来。

就在今天,我看了Paul Irish关于这一点的一个有趣的演讲,我建议你看:;交货;

引用他的一张幻灯片:

大多数HTTP数据流由小的、突发的数据传输组成,而TCP则针对长寿命连接和大容量数据传输进行了优化。在大多数情况下,网络往返时间是TCP吞吐量和性能的限制因素。

因此,延迟是HTTP和大多数web的性能瓶颈。


你还必须考虑,并不是每个浏览器都像chrome一样并行加载那么多文件。我发现了一篇关于浏览器并行连接数量的SO文章(2013年)。

这当然是有益的。每个单独的javascript文件都是对服务器的请求。这需要时间,因为增加了开销。

您拥有的javascript文件越少,从服务器获取所有这些文件所需的时间就越短。