我正在使用带有ruby 2.0的rails 4.0
我有100个js和css文件。我不希望他们在所有页面上加载。
所以我删除了application.js和application.css中的require_tree
我使用
<% javascript_include_tag "js_file" %>
<% stylesheet_include_tag "css_file" %>
我的问题是 1.我需要预编译资产吗? 2.它们是否会形成一个文件并在客户端发送? 3. turbo_link gem在这里有什么用以及如何帮助我? 4.我应该使用基于控制器的资产并使用适当的cs和js文件包含在内吗?
答案 0 :(得分:1)
<强> 1。我是否需要预编译资产?
不,但这完全取决于您的生产环境。 Heroku等服务需要预编译资产
<强> 2。它们是否会形成一个文件并在客户端发送?
application.css中所需的资产将合并到该文件中。但是,如果您有特定于控制器的css / js,并相应地从您的布局中调用它们,则应将它们编译到各自的文件中
第3。 turbo_link gem是什么以及如何帮助我?
Turbolinks
是一个宝石,旨在通过减少元素必须加载的次数来帮助提高页面加载时间。基本上,如果你使用相同的控制器,turbolinks只会用Ajax请求替换你的页面部分
所以不,Turbolinks不会帮助您编译/组织您的资产:)
<强> 4。我应该使用基于控制器的资产并使用适当的cs和js文件包含在内吗?
这取决于您的申请。我要问的第一个问题是.... 为什么你有100个CSS&amp; JS文件?找到答案之后,您就可以开始使系统工作到最有效的要求