【问题标题】:Better to combine & minify javascript or use Google CDN?更好地组合和缩小 javascript 或使用 Google CDN?
【发布时间】:2015-02-21 07:10:49
【问题描述】:

我正在构建一个当前使用来自多个来源的 javascript 的网站:

第 1 组: Google Maps API v3(由 Google 托管)
第 2 组: jQuery 和 swfobject(在 Google CDN 上托管)
第 3 组: 几个 jQuery 插件和非 jquery javascript 文件(托管在我的服务器上)

我正在使用 Justin Etheredge 的工具 SquishIt 来合并和缩小托管在我的服务器上的所有 javascript 文件(第 3 组)。

我想知道如果我将(组 2)中的文件在本地托管,以便它们可以与(组 3)中的所有其他文件组合并且只需要一个 HTTP,用户是否会“感觉”更快请求第 2 组和第 3 组。这意味着我没有收到 benefits of the Google CDN。

有人对这个问题有什么建议吗?

编辑: 另外,我将如何得出这个问题的基于数字的答案?这可能吗?

【问题讨论】:

    标签: javascript performance cdn minify


    【解决方案1】:

    我认为这取决于您的用户在访问使用相同资产的另一个网站时已经缓存了 google cdn 文件的可能性有多大。

    我的意见是使用 CDN 会更好,因为它已被缩小,而且文件很可能根本不需要下载。合并并缩小其他所有内容。

    我很想知道这些 google cdn 库文件的全局缓存命中率。

    【讨论】:

      【解决方案2】:

      使用 CDN 和组合/缩小服务于不同的目的。如果你可以同时使用。

      1. 结合 Javascript 文件 - 减少来自页面的 http 请求数
      2. 缩小 Javacsript 文件 - 减小文件大小
      3. 使用 Cdn - 改善延迟。

      如果你能找到一种方法来同时使用这两种方法,那就太好了

      虽然合并 Javascript 文件可能会变得更复杂,而不仅仅是缩小它们。

      您可以根据需要使用其他 CDN (Amazon CloudFront)

      【讨论】:

        【解决方案3】:

        可能不会有太大的不同。

        javascript 文件很小且是静态的,会被用户的浏览器缓存。通过使用存储在 Google CDN 中的副本,您的用户甚至可能不必在他们第一次访问您的网站时下载脚本。

        不过,通过使用 Google 副本,您也会引入对 Google 的依赖。如果他们的服务器出现故障(他们可能不会——至少在不久的将来不会),您的站点可能无法正常运行。

        【讨论】:

          【解决方案4】:

          我正在合并、缩小 (using closure) 并使用 (akamai) CDN。但是对于网络性能最重要的提示是:

          1. use never expire cache
          2. 异步加载:你可以使用这个脚本来加载你的外部 js 文件

            (function() {
              setTimeout(function(){
                var sc = document.createElement('script'); sc.type = 'text/javascript'; sc.async = true;
                sc.src = 'youfile';
               (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(sc);
              },0);
            })();
            

          【讨论】:

            猜你喜欢
            • 2011-04-19
            • 1970-01-01
            • 2013-06-17
            • 2012-03-18
            • 1970-01-01
            • 2012-08-21
            • 1970-01-01
            • 2015-02-25
            • 2013-09-11
            相关资源
            最近更新 更多