0

我正在使用带有 ruby​​ 2.0 的 rails 4.0。
我有 100 个 js 和 css 文件。
我不希望它们加载到所有页面上。
所以我删除了 application.js 和 application.css 中的 require_tree 我包含了所需的 css 和 js 使用

<% javascript_include_tag "js_file" %>
<% stylesheet_include_tag "css_file" %>

我的问题是
1. 我需要预编译资产吗?
2. 它们会形成一个文件并在客户端发送吗?
3. turbo_link gem 是什么以及如何帮助我?
4. 我应该使用基于控制器的资产并使用它们适当的 cs 和 js 文件来包含吗?

4

1 回答 1

1

1. 我需要预编译资产吗?

不,但这完全取决于您的生产环境。Heroku 等服务需要预编译资产

2. 它们会形成一个文件并在客户端发送吗?

application.css 中所需的资产将合并到该文件中。但是,如果您有特定于控制器的 css/js,并相应地从您的布局中调用它们,则应将它们编译到各自的文件中

3. turbo_link gem 是什么以及如何帮助我?

Turbolinks是一个旨在通过减少元素必须加载的次数来帮助提高页面加载时间的 gem。基本上,如果您使用相同的控制器,turbolinks 只会用 Ajax 请求替换您的页面部分

所以不,Turbolinks 不会帮助您编译/组织您的资产 :)

4. 我应该使用基于控制器的资产并使用它们适当的 cs 和 js 文件来包含吗?

这取决于您的应用程序。我要问的第一个问题是……为什么你有 100 个 CSS 和 JS 文件?找到问题的答案后,您就可以努力使系统满足最有效的要求

于 2013-10-23T16:24:50.767 回答