将所有内容缩小为一个文件或使用CDN

时间:2010-12-25 09:00:41

标签: javascript

对于jQuery之类的东西,最好是让它使用CDN或将其与其他JS一起缩小为1个文件

3 个答案:

答案 0 :(得分:4)

CDN - 它可能已经缓存在用户计算机上,因此您将为其保存下载。更不用说它会从CDN加载比从你的网站加载更快 - 获取该文件的额外连接的开销是微弱的

答案 1 :(得分:1)

您的所有代码都应该合并在一起。精缩。对于图书馆来说,它有点棘手。 CDN在理论上是好的,但是一些研究表明,由于各种原因,它们实际上并不像它们那样有效。

这意味着,如果您的CDN上有50%的未命中率,额外的DNS解析和额外连接的开销实际上可能会让您失望的速度超过它的帮助。

最重要的是,您应该对缩小/组合的JS文件进行版本化,使其为您部署的每个代码版本都有一个唯一的URL。这样,您可以将Expires标头设置为+ 10年,并确保下载它的任何人只下载一次。

另外不要忘记启用gzip(apache中的mod_deflate),这通常会将传输压缩到原始大小的1 / 5-1 / 10。

答案 2 :(得分:0)

使用CDN很棒,因为js文件可能已经从CDN缓存到用户的计算机。

但是,可能有一些jQuery插件和你自己的站点验证和其他可能在不同JS文件中分离的函数。然后缩小+合并是很好的方法。

为了方便起见,我们将代码分隔在不同的文件中,当浏览器尝试加载内容时,它对在同一服务器上发送的请求数量有限制,CDN不在您的域中,而是在没有任何浏览器限制的情况下请求所以它加载速度很快。您需要合并您的js文件,以减少浏览器加载页面的请求数量。

对我来说,我使用PHP来组合和缩小

在html中

<script src="js.php" >

并在php中

  

标题('Content-type:text / javascript');

     

包括'js / plugin.js';

     

包括'js / validation.js';

您可以使用output buffering缩小并将此内容作为gziped发送到浏览器