繁体   English   中英

Bootstrap-sass Gem vs CDN

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM