结合 JavaScript 与跨 CDN 拆分

Combining javascripts vs splitting across CDNs

本文关键字:拆分 CDN 与跨 JavaScript 结合      更新时间:2023-09-26

各种网站优化指南建议,如果可能的话,应该将多个javascript合并为一个,以减少http请求的数量。另一方面,有稍微正交的建议是,使用像谷歌和微软这样的CDN将拆分负载,浏览器将能够并行下载。

我有点困惑,我应该将所有javascript(

包括我自己的和第三方的js)合并为一个javascript文件,还是应该将它们分开(至少对于那些通过免费CDN获得的)?

我也不清楚浏览器是并行下载多个javascrit文件,还是等待每个javascript下载后再下载其他文件?

有一个大量使用javascript的网站,我正在使用几个库(jquery,jquery-ui,jquery.json-2.3,jquery.metadata.js,jquery.jcarousel.min.js jquery.validate.js,jquery.blockUI.js)。

引用 CDN 总是一个好主意。认为浏览器必须执行更多http请求是无效的,因为这只会发生一次。然后,该文件将被缓存,并且不会再次请求。使用 CDN,用户也可能已经拥有缓存版本,并且根本不需要请求它(而在引用本地版本时,用户之前无法缓存该版本)。

我建议尝试为每个可用的第三方插件引用 CDN。对于您自己的脚本和不受 CDN 托管的脚本,请尝试缩小脚本并将它们放入单个文件中以减少流量负载。

(为了缩小,有很多可用的在线工具,即 http://jscompress.com/,它还允许您从几个文件中生成单个JS文件)

浏览器下载多个 JS 文件,因为它们位于不同的 CDN 上。当它们在同一个 CDN 上时,浏览器会等待每个完成下载另一个。

这是一个好主意,尽可能将第三方脚本保留在不同的文件和 CDN 上,并将您自己的脚本缩小到您的子域上,制作您的 CDN,以加快加载速度。