[英]Why use ruby gem for bootstrap when you can just one line include bootstrap in a rails app?
當您僅將一行代碼包含在Rails應用程序中時,為什么將ruby gem用於引導程序?
我可以在我的application.html.erb文件中的這一行使用引導程序: <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
人們為什么使用像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的緩存版本,這使整個工作減少了樣式表的大小。
當然也有缺點,例如,更新可能需要更長的時間才能到達。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.