我正在使用pace.js
库,其文档说,我需要尽早包含他们的JS / CSS文件。 http://github.hubspot.com/pace/。我做到了,现在我的application.html.erb
看起来像这样:
<head>
<%= javascript_include_tag "pace.min" %>
<%= stylesheet_link_tag "pace", :media => "all" %>
<title>My site</title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= javascript_include_tag "application" %>
</head>
但是当我查看生成的HTML时,我可以看到包含两次的速度。
第一次在<head>
开始,第二次代替javascript_include_tag "application"
怎么预防呢?
答案 0 :(得分:2)
由于您已明确指定包含pace.js
库的<%= javascript_include_tag "pace.min" %>
语句,因此首次包含pace.js
。
第二次因为application.js
//= require_tree .
此语句表示包含当前目录js
(application.js
)中的所有app/assets/javascripts
个文件,我猜您已将pace.js
保留在同一目录中这就是为什么它再次被包括在内。
编辑
如果要从资产包中排除stub
并将其明确包含在application.js
中,请在pace.js
中使用<head>
指令。这种方式pace.js
只会被包含一次。
//= stub pace
答案 1 :(得分:1)
还有2个用于pacejs和rails的宝石设置
或者,在您的application.js文件中,列出您需要它们的顺序
//= require pace
//= require jquery
//= require jquery_ujs
//= require underscore
//= require backbone
//= require_tree .
然后树将按顺序抓取其他所有内容。
Pace将被列入其他列出的
之前