资产管道中默认require_tree背后的原因是什么?

时间:2011-09-20 08:28:22

标签: ruby-on-rails ruby asset-pipeline

在rails 3.1中使用资产管道时,会创建默认的application.js

//= require jquery
//= require jquery_ujs
//= require_tree .

但我什么时候需要包含我的所有javascript?在大多数情况下,我们为不同的控制器/视图使用不同的javascrips?

3 个答案:

答案 0 :(得分:20)

require_tree .将导致您拥有一个文件(本例中为application.js),其中包含文件夹中的所有脚本。事实上,浏览器只会从Web服务器中提取一次该文件(除非您执行Ctrl + R刷新或文件缓存属性发生更改),这确实使应用程序对后续请求的行为更快。

除非您的应用程序具有相当多变且庞大的脚本,并且不希望典型用户移动太多,否则他不需要大多数。这显然不是很常见的情况。

了解更多详细信息。看这里 http://guides.rubyonrails.org/asset_pipeline.html

答案 1 :(得分:2)

浏览器加载application.js一次,然后从缓存中获取它。

答案 2 :(得分:0)

// = require_tree。加载javascript目录中的每个文件或子文件夹文件