2011-08-18 38 views
3

我有一个应用程序,有一堆资源。在阅读了关于JavaScript加载器的信息之后,我决定看看我会从异步加载资源中获得什么样的提升。令我惊讶的是,我发现使用装载机显然较慢(不需要秒表)。这让我想知道其他人是否有类似的结果,以及开发人员应该考虑何时使用或不使用JavaScript资源加载器。JavaScripts加载器何时比传统方法慢?

这里有一些细节我的测试:

  • 目前有60个资源(主要是脚本)
  • 由于依赖层次脚本不得不在约8批次
  • 主要用于火狐被加载(但在Chrome尝试为好)两​​个Ubunutu和Windows
  • 使用装载机(YepNope在我的情况)
  • 冉测试确实增加了一个小的开销
  • 我写了一个小的bootloader类来简化我与YepNope的交互。
  • Source code在GitHub上(运行tests.html和测试 - loader.html)

当我说“慢”我不是说这是非常缓慢的。只是我不得不花费一些时间来设定这个结果,并且结果比我开始之前更糟糕。

60个资源太少,无法使用装载机?资源通常应该是巨大的,还是可以成为一堆小文件?什么样的事情会导致加载程序比使用传统的脚本标记慢?

+0

我假设没有这样做的原因,但是你能不把这60个资源放在饮食上并缩小一点数量吗?他们可能是一堆jQuery插件吗? – Bojangles

+0

您是否在使用yepnope并检查条件?或者只是使用它来加载它们?如果你没有条件加载,那么你可以缩小和结合你的脚本,这将节省至少50多个http请求。 – Trolleymusic

+0

我刚刚看到,这是近两岁了......你解决了吗? :) – Trolleymusic

回答

0

资源是异步加载的吗?首先,您正在使用多核心的设备?异步。只有您拥有多核电脑,笔记本电脑,平板电脑,手机或其他设备时,加载才有用。

二,是你使用质量的装载机?正如我所见,尝试不同的装载机,现在没有标准的“这是好的”装载机,所以你可能会破坏它。另一个可能工作。

你是肯定浏览器还没有优化页面资源加载?使用另一种方式可能会阻碍新的和更快的浏览器,减慢页面加载速度。

我个人并没有使用这些装载机,这些只是我的教育猜测。

+0

关于需要多核心的好处。我还注意到并非所有的装载机都采用类似的方法。我试过head.js。虽然它仍然比传统方法慢(通过smidge),但它似乎表现更好。 – Mario