javascript文件的“太大”有多大

时间:2010-07-22 15:49:24

标签: javascript

有了所有令人敬畏的jQuery插件,那么开始将它们包含在整个地方以增强我们网站的外观是非常诱人的。

我正在寻找关于是否以及何时应该关注这些脚本的大小的一些意见。

假设它们被缓存在Web服务器级别上,所以我猜想潜在的问题是从Web服务器提供的脚本的带宽,以及需要下载所有这些脚本的客户端浏览器的性能。

5 个答案:

答案 0 :(得分:15)

如你所述,这里有两个问题。

首先是服务器负载。如果这是一个问题,您可以使用Google AJAX Libs APIs,直接从Google的CDN获取您的图书馆。

第二个问题是客户端加载时间。那么,你应该决定你的目标受众是谁,以及你愿意让用户等待多少。根据经验,现在大多数网站每页消耗~300KB个带宽,包括脚本,样式表和图像。

答案 1 :(得分:3)

我认为你不应该过分担心它。通常,图像将消耗大部分带宽,而不是Javascript文件。

如果您想加快网站速度,可以减少网页中的HTTP请求数量。这可能会带来更好的性能提升。尝试将所有.js文件压缩成一个,并使用CSS精灵技术来显示图像。

答案 2 :(得分:2)

你必须把它放在透视中。查看加载页面的时长以及javascript的百分比。通常它不是那么大。

由于js通常会为站点添加细节,因此只要它不会阻止其他元素被加载,它可能无论是最后加载还是相对缓慢都无关紧要。

在我看来,如果你需要这个功能,你必须加载代码,这是不可避免的。如果它是装饰性的,那么最后加载那些装饰性的js,并且最好稍晚一点,而不是完全没有它。

答案 3 :(得分:2)

正如其他人对jQuery本身所说的那样,最好使用任何公共CDN托管副本,我还建议使用工具将插件/自定义脚本捆绑到一个有意义的包中。这些因服务器类型而异,但有两种常用工具ASP.NET ScriptManager Control - Script Combining - What's the big deal?Bundler - Bundler Now Supports Css And .less。在后一篇文章中,有关该主题的更多信息。

编辑:我使用.NET的当前解决方案是http://getcassette.net/ Cassette为ASP.NET开发提供了最好的故事,只存储.debug。解决方案中的JS文件的副本,javascript文件很容易获得intellisense,当你在调试中运行时,你得到所有的调试js文件,当你运行debug = false时,get结合并缩小。在这两种情况下,它们都有缓存清除字符串,因此您永远不必担心shift + refresh而不使用过时的javascript。

答案 4 :(得分:0)

一根绳子有多长?

这取决于目标受众的带宽,服务器的带宽以及JS提供的相对价值。