微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

twitter-bootstrap – 我应该使用从CDN的Bootstrap还是在我的服务器上复制?

使用Twitter Bootstrap的最佳实践是什么,从CDN引用它或在我的服务器上创建本地副本?

由于Bootstrap不断进化,恐怕如果我参考CDN,用户会看到不同的网页随着时间的推移,一些标签甚至可能会损坏。最多人的选择是什么?

解决方法

Why Not Both ¯\_(ツ)_/¯ ? Scott Hanselman有一篇关于使用CDN获得性能提升的优秀文章,但优雅 falling back to a local copy in case the CDN is down

具体到bootstrap,你可以做到以下到load from a CDN with a local fallback

<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 -->
  <script>
    $(document).ready(function() {
    var bodyColor = $('body').css('color');
    if(bodyColor != 'rgb(51,51,51)') {
    $("head").prepend('<link rel="stylesheet" href="/local/bootstrap.min.css">');}});
  </script>
</body>

对你的最佳实践问题,有很多very good reasons to use a CDN in a production environment

  1. It increases the parallelism available.
  2. It increases the chance that there will be a cache-hit.
  3. It ensures that the payload will be as small as possible.
  4. It reduces the amount of bandwidth used by your server.
  5. It ensures that the user will get a geographically close response.

对于你的版本控制关注,任何值得它的CDN让你定位一个特定版本的库,所以你不会不小心引入破坏性的更改每个版本。

原文地址:https://www.jb51.cc/bootstrap/234668.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐