代码之家  ›  专栏  ›  技术社区  ›  mike

javascript和css加载

  •  2
  • mike  · 技术社区  · 17 年前

    我想知道,如果我有6个javascripts包含在一个页面上,4-5个css包含在同一个页面上,那么如果我创建一个或两个文件并将它们全部附加在一起,而不是一堆文件,那么页面加载是否真的会变得最理想?

    9 回复  |  直到 16 年前
        1
  •  15
  •   Ryan Cook    17 年前

    对它将以更少的文件获得更好的性能。

    1. 除了文件大小之外,请求中还有开销,例如请求本身、头、cookie(如果已发送)等等。即使在许多缓存场景中,浏览器也会发送一个请求,以查看文件是否已被修改。当然,适当的头/服务器配置可以帮助实现这一点。

        2
  •  3
  •   Nosredna    17 年前

    您的目标之一是减少http请求,所以是的。名为yslow的工具可以对应用程序进行分级,以帮助您了解如何获得更好的用户体验。

    http://developer.yahoo.com/yslow/

        3
  •  3
  •   LicenseQ    17 年前

    即使browse执行多个请求,它也会尝试打开最少的TCP连接(请参阅Keep Alive HTTP header option docs)。在服务器端设置向上压缩(DEFLATE或GZIP)模式也可以提高网页加载速度。

        4
  •  2
  •   ceejayoz    17 年前

    每个include都是用户浏览器必须发出的一个单独的HTTP请求,HTTP请求会带来开销(在服务器和连接上)。组合多个CSS和JavaScript文件将使您和您的用户更轻松。

        5
  •  2
  •   Brian Kim    17 年前

    对这样做可以减少HTTP请求。

        6
  •  1
  •   Gary Green    17 年前

    最好的解决方案是将所有代码添加到一个页面,这样浏览器就可以在一个GET请求中获取代码。如果要链接到多个文件,则每次加载页面时,浏览器都必须请求这些外部页面。

    如果在浏览器中启用了Pieplinging,并且站点没有产生太多流量,则这可能不会导致问题。

    谷歌已经将他们的代码简化为一体。我甚至无法想象有多少请求通过如此大的流量节省并减轻了服务器上的负载。

        7
  •  1
  •   David Easley    17 年前

    不再有任何理由在想要分割js&之间感到痛苦;css文件一方面是为了组织,另一方面是为了效率,文件数量很少。有一些工具可以让您同时实现这两个目标。

    例如,您可以合并 Blender 在构建过程中聚合(并压缩)CSS和JavaScript资产。Java开发人员应该看看 JAWR

        8
  •  0
  •   fauxCoder    17 年前

    一个更具影响力的因素是脚本的压缩,有各种各样的在线实用程序,它们去掉了空白,使用了更有效的变量名,我认为这些将带来比把文件放在一起更显著的改进。

        9
  •  0
  •   Mark Hurd    17 年前

    我极力推荐 Blender 用于缩小和合并多个CSS/JS文件。如果你像我一样,经常以10-15个样式表(重置、屏幕、打印、主页、关于、产品、搜索等)结束,这个工具非常有用。