Bootstrap-sass Gem vs CDN

woo*_*fox 9 css ruby-on-rails cdn twitter-bootstrap

各种Ruby on Rails教程鼓励灌输bootstrap-sass gem.为什么这是一个惯例而不是指向CDN?

我已经在我的应用程序的标题中包含:

  <!-- BOOTSTRAP CSS 3.3.5 CDN: --> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)

在页脚中:

  <!-- BOOTSTRAP JS 3.3.5 CDN --><script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

假设我一直在使用连接到互联网的开发盒工作:使用bootstrap gem而不仅仅是指向CDN的原因是什么?指向客户端可能已缓存文件的CDN并不总是更快吗?

Sea*_*ber 11

Rails的教程建议bootstrap-sass宝石只是一个方便的问题; 作为Rails的开发人员,我们习惯于在我们的Gemfile中添加一行来集成第三方库.

gem有额外的好处:在您执行之后,bundle install您将不需要Internet连接来加载开发环境的资产(无需连接到外部CDN).您还可以使用SASS覆盖Bootstrap mixin变量并自定义框架.

除了这些好处之外,如果您没有自定义Bootstrap,则无需boostrap-sass在生产中使用gem.事实上,关于客户可能已经拥有CDN托管版本的常见JS/CSS框架的论证当然是有效的.

简答:不要将boostrap-sass宝石视为惯例.这是定制的一个很好的起点,但如果不需要定制,那么使用CDN是完全合理的.