2011-07-08 12 views
1

我刚刚想出了如何从我以前的问题How to extend jQuery from CDN?添加自定义函数/插件到jQuery。现在,我的问题是,如果jQuery中的某些函数不是页面所必需的?我决定删除这些功能,如果我需要它们,稍后再添加它们。但是,如果我将删除它们,我不能将Google的CDN用于我的jQuery,现在我确定可以从CDN扩展jQuery,但我并不认为我可以删除某些功能。CDN jQuery与很多不必要的功能或自己的FTP jQuery功能较少?

问题:

  1. 这是(在任何方面)较好,从CDN一个jQuery有很多uneccessary功能或对我自己的FTP与缩小的尺寸一个jQuery(删除uneccessary功能)?

  2. 如果在我自己的FTP上修改/减少jQuery更好,如何正确删除这些功能?什么是冲突?还是有功能依赖于另一个功能?

  3. 如果来自CDN的jQuery更好,您认为哪个服务器最适合提供?

回答

4
  1. 无论你减少了jQuery的在自己的FTP大小与否,通常你不想修改 jQuery库通过手动删除不必要的功能,除非你有过相关性的知识图书馆的结构(我认为我们都没有)。因此,如果我是你,我只会坚持从CDN的jQuery。

  2. 正如我所说,修改一个巨大的代码库如jQuery,甚至使用缩小工具如YUI压缩器或谷歌封闭编译器是非常困难和几乎不可能的。你不要想要这样做,不惜任何代价。

  3. 据我所知,谷歌是相当可靠的。然而,这里有一些建议供您参考:

- Microsoft CDN vs Google CDN
-​​3210

0

这些都是很好的资源:

雅虎Best practices for speeding up a web site

Loading scripts without blocking

除非您使用自己的CDN(例如,通过亚马逊云),否则我会怀疑您的手术最小化jQuery版本的下载速度会更快 - 这是真正重要的服务器延迟。我同意Benny的意见,修改图书馆是一个正式的坏主意。

这个问题略有不同...如果你可以将jQuery与你的应用程序特定的javascript文件结合起来,性能会更好吗?通过组合JavaScript文件,您可以满足第一个YSlow规则“最小化HTTP请求”,但是忽视第二个“使用CDN网络”的代价。我经常想知道哪个更好。

YMMV

1

我给你我的意见。如果您的ftp源与您的Web服务器相同,请转到您的FTP源,如果它位于不同的服务器中,请转到CDN。为什么?可靠性。您的服务器比CDN服务器更有可能倒下。但是,如果它位于同一台服务器上,那么cdn很可能会失败(例如,如果互联网服务失败),并且如果您的服务器死了,所有系统都会死掉(库+您的网络代码),您知道吗? 链条只与最薄弱环节一样强大。

但是,修改jquery源代码时要小心,除非您对修改过的源进行大量的单元测试,否则会有点危险。问题是每次jquery更新时都必须修改它。

只是我的2美分。 希望这有助于。干杯

1

我使用CDN托管jquery的主要原因之一是因为我的用户可能已经缓存了它。

如果他们去过任何其他网站使用相同的CDN &文件作为您的网站,该文件已被缓存在用户的计算机上(不包括浏览器设置)。

Rob说的另一个原因是延迟。

当你从CDN请求一个文件时,它会选择最近的服务器(或者可能只是最快的)并从那里传送文件。这可以帮助提供来自不同地理位置的更一致的加载速度。