使用谷歌托管jQuery-ui或自定义下载jQuery UI?

时间:2015-08-29 13:28:07

标签: performance jquery-ui google-cdn

我正在使用jquery-ui的幻灯片功能的网站。

谷歌托管的jquery-ui缩小版本重63KB - 这是整个图书馆。仅滑动功能的自定义下载重量为14KB。

显然,如果用户已经缓存了谷歌托管版本,那么这是一个不费脑子的事情,但是如果他们没有这样做,则需要更长时间才能加载,因为我可以将自定义jquery-ui幻灯片功能整合到我的main.js文件中。

我想这取决于有多少其他网站使用jquery-ui(如果这只是普通的jquery,上面的内容很简单,因为大量网站使用jquery,但我有点不确定使用jquery-ui)......

我无法弄清楚上述情况中最好的事情是什么?

4 个答案:

答案 0 :(得分:4)

我说如果自定义选择性版本是绝对的和相对较小的,那么选择该路径的理由很充分。

按以下事件顺序加载JavaScript资源有几个含义:

  1. 正在加载:请求/响应通信,或者在缓存命中的情况下。请记住CDN与否,通讯仅影响第一页。如果您的网站是在传统的全页面请求中构建的,那么#34;风格(与SPA等相反),这实际上变成了无问题。
  2. 解析:JS引擎需要解析 整个资源
  3. 执行:JS引擎执行 整个资源 。这意味着即使对主机页面中未使用的功能进行了初始化,也会执行任何初始化/加载代码。
  4. 内存使用情况:内存使用情况取决于 整个资源 。这包括静态对象和函数(也是对象)。
  5. 考虑到这一点,拥有更小的资源在超出简单加载方面是有利的。更重要的是,在通信方面对这种小资源的请求可以忽略不计。如果它是屏幕底部某处的公司徽标的迷你版本,甚至没有人注意到,你甚至不会三思而后行。

    作为附注和潜在的优化,如果您的站点提供任何专有库或一组不太常见的库,您可以将所有这些组合在一起,包括jQuery UI子集,并且您的用户将只有一个请求,再次使这个有利。

答案 1 :(得分:2)

使用Google托管版

  1. 用户最近可能会访问一个加载Google服务器上托管的jQuery-UI的网站。
  2. 它将从您的服务器关闭负载并使其他元素加载更快。
  3. 浏览器从一个域加载固定数量的资源。从Google服务器加载jQuery-UI将确保它与服务器上的其他资源同时下载。

答案 2 :(得分:2)

雅虎开发者网络建议使用CDN。他们的完整理由发布在这里。 https://developer.yahoo.com/performance/rules.html

他们网站的这句话真的把它封在了我的脑海里。 “在多个地理位置分散的服务器上部署内容将使您的页面从用户的角度加载更快。”

答案 3 :(得分:0)

我不是专家,但无论如何我的两分钱。使用CDN,您可以确保减少延迟,加上如上所述,用户最有可能从谷歌托管的其他网站上获取它也是我一直关心的事情,节省带宽。