为什么在 rails 应用程序中只需一行包含 bootstrap 就可以将 ruby gem 用于 bootstrap?
Why use ruby gem for bootstrap when you can just one line include bootstrap in a rails app?
为什么在 bootstrap 中使用 ruby gem 可以在 rails 应用程序中仅包含一行 bootstrap?
我可以在 application.html.erb 文件中的这一行中使用 bootstrap:
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
为什么人们使用 gem 之类的 https://github.com/seyhunak/twitter-bootstrap-rails?
没有任何完整性声明,以下是您可能希望通过 gem.
包含 Bootstrap 的几个不同原因
首先,它允许您以比通过引用包含库更强大的方式自定义库。如果您浏览链接项目的自述文件,您会注意到您可以使用 LESS 或 SASS,并覆盖 Bootstrap 中的单个变量。这使得创建您自己的 Bootstrap 主题变得容易得多,例如,创建干净且可维护的 CSS 类.
其次,gem 经常提供比 Bootstrap 更多的功能。通过提供生成器或覆盖 Rails 中的模板,它们可以轻松构建新页面。他们有时甚至会为某些 Bootstrap 功能提供自定义 Javascript 实现,以便更轻松地将它们与 Rails 集成。例如,再次查看链接库及其导航栏的辅助方法:
<%= nav_bar do %>
<%= menu_item "Home", root_path %>
<%= drop_down "Products" do %>
<%= menu_item "Latest", latest_products_path %>
<%= menu_item "Top Sellers", popular_products_path %>
<%= drop_down_divider %>
<%= menu_item "Discount Items", discounted_products_path %>
<% end %>
<%= menu_item "About Us", about_us_path %>
<%= menu_item "Contact", contact_path %>
<% end %>
太棒了。更少样板代码,无需担心...
最后,您拥有更多的控制权。您不依赖于 CDN,并且可以将 Bootstrap 紧密集成到您的资产管道中。 Imo,不过,这是一把双刃剑。一方面,通过排除库中不需要的部分,您可以获得比 Bootstrap 提供的文件更小的 CSS 文件。因为覆盖 Bootstrap 中的变量更容易,所以您自己的 CSS 也可能小得多。另一方面,用户可能已经从 CDN 获得了 Bootstrap 的缓存版本,这使得减少样式表大小的全部努力有点过时了。
当然也有缺点,例如更新可能需要更长的时间才能到达您手中。
为什么在 bootstrap 中使用 ruby gem 可以在 rails 应用程序中仅包含一行 bootstrap?
我可以在 application.html.erb 文件中的这一行中使用 bootstrap:
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
为什么人们使用 gem 之类的 https://github.com/seyhunak/twitter-bootstrap-rails?
没有任何完整性声明,以下是您可能希望通过 gem.
包含 Bootstrap 的几个不同原因首先,它允许您以比通过引用包含库更强大的方式自定义库。如果您浏览链接项目的自述文件,您会注意到您可以使用 LESS 或 SASS,并覆盖 Bootstrap 中的单个变量。这使得创建您自己的 Bootstrap 主题变得容易得多,例如,创建干净且可维护的 CSS 类.
其次,gem 经常提供比 Bootstrap 更多的功能。通过提供生成器或覆盖 Rails 中的模板,它们可以轻松构建新页面。他们有时甚至会为某些 Bootstrap 功能提供自定义 Javascript 实现,以便更轻松地将它们与 Rails 集成。例如,再次查看链接库及其导航栏的辅助方法:
<%= nav_bar do %>
<%= menu_item "Home", root_path %>
<%= drop_down "Products" do %>
<%= menu_item "Latest", latest_products_path %>
<%= menu_item "Top Sellers", popular_products_path %>
<%= drop_down_divider %>
<%= menu_item "Discount Items", discounted_products_path %>
<% end %>
<%= menu_item "About Us", about_us_path %>
<%= menu_item "Contact", contact_path %>
<% end %>
太棒了。更少样板代码,无需担心...
最后,您拥有更多的控制权。您不依赖于 CDN,并且可以将 Bootstrap 紧密集成到您的资产管道中。 Imo,不过,这是一把双刃剑。一方面,通过排除库中不需要的部分,您可以获得比 Bootstrap 提供的文件更小的 CSS 文件。因为覆盖 Bootstrap 中的变量更容易,所以您自己的 CSS 也可能小得多。另一方面,用户可能已经从 CDN 获得了 Bootstrap 的缓存版本,这使得减少样式表大小的全部努力有点过时了。
当然也有缺点,例如更新可能需要更长的时间才能到达您手中。