![](/img/trans.png)
[英]Using twitter bootstrap 3 with rails using bootstrap-sass gem
[英]Bootstrap-sass Gem v.s. CDN
各种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">
在页脚中:
<!-- BOOTSTRAP JS 3.3.5 CDN --><script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js" type="text/javascript"></script>
假设我一直在使用连接到互联网的开发盒工作:使用bootstrap gem而不仅仅是指向CDN的原因是什么? 指向客户端可能已缓存文件的CDN并不总是更快吗?
Rails的教程提示bootstrap-sass
gem的可能原因只是方便; 作为Rails的开发人员,我们习惯于在我们的Gemfile中添加一行来集成第三方库。
gem有额外的好处:在进行bundle install
后,您不需要Internet连接来加载开发环境的资产(无需连接到外部CDN)。 您还可以使用SASS
覆盖Bootstrap mixin变量并自定义框架。
除了这些好处之外,如果您没有自定义Bootstrap,则无需在生产中使用boostrap-sass
gem。 事实上,关于客户可能已经拥有CDN托管版本的常见JS / CSS框架的论证当然是有效的。
简短回答:不要将boostrap-sass
宝石视为惯例。 这是定制的一个很好的起点,但如果不需要定制,那么使用CDN是完全合理的。
使用CDN只会为您提供CSS,将HTML文件硬连接到特定的引导程序版本。 相反使用引导的SASS / LESS版本允许你把语义类在你的HTML,并在你的应用程序特定SASS / LESS文件(你的语义类和引导之间的连接使用@import
, @extend
...语句)
如果你明智地使用这种技术,你最终会得到较小尺寸的下载,因为你只导入你在应用程序中实际使用的引导程序部分,并且你可以清楚地分离关注点,允许你在不触及你的情况下切换sass / less框架。 HTML文件(理想情况下)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.