我应该使用CDN中的引导程序还是在我的服务器上复制?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (61)

使用Twitter Bootstrap的最佳做法是,从CDN引用它还是在我的服务器上创建本地副本?

由于引导程序不断发展,恐怕如果我引用CDN,用户会看到不同的网页,并且一些标签甚至可能会断开。大多数人的选择是什么?

提问于
用户回答回答于

为什么不是两个?(_)_ /? Scott Hanselman撰写了一篇关于使用CDN获得性能提升的优秀文章,但在CDN崩溃的情况下优雅地回落到本地副本

特定于引导,可以执行以下操作从具有本地回退的CDN加载

<head>
  <!-- Bootstrap CSS CDN -->
  <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
</head>
<body>
  <!-- APP CONTENT -->

  <!-- jQuery CDN -->
  <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
  <!-- jQuery local fallback -->
  <script>window.jQuery || document.write('<script src="/local/jquery.min.js"><\/script>')</script>
  <!-- Bootstrap JS CDN -->
  <script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
  <!-- Bootstrap JS local fallback -->
  <script>if(typeof($.fn.modal) === 'undefined') {document.write('<script src="/local/bootstrap.min.js"><\/script>')}</script>
  <!-- Bootstrap CSS local fallback -->
  <div id="bootstrapCssTest" class="hidden"></div>
  <script>
    $(function() {
      if ($('#bootstrapCssTest').is(':visible')) {
        $("head").prepend('<link rel="stylesheet" href="/local/bootstrap.min.css">');
      }
    });
  </script>
</body>

*也可以使用YepNope或fallback.js .visible类而不是测试rgb(51, 51, 51)

  1. 它增加了可用的并行性
  2. 它增加了将有缓存命中的机会。
  3. 它确保有效载荷将尽可能
  4. 它减少了服务器使用的带宽量。
  5. 它确保用户将获得地理上密切的响应。

对于版本控制问题,任何CDN都值得它,因此可以定位特定版本的库,这样就不会在每次发布时意外引入重大更改。

用户回答回答于

取决于具体的网站。

你有很多用户吗?你关心带宽使用情况吗?性能是一个问题(CDN 可以加快响应速度)?

可以链接到特定版本:

//maxcdn.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css

要么

//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css

这样你不必担心图书馆的更新,这是一个更好的做法,以保持更新。

我不确定关于开发者选择的确切统计数据是什么,但可以在这里看看并看到数十亿的请求被发送到Bootstrap CDN,这意味着它的使用是健壮和安全的。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励