我正在使用Twitter Bootstrap LESS ,需要启用资产管道。但是如果启用了资源,那么我的 CoffeeScript代码会在浏览器中包含两次 - 一次在application.js中,第二次在posts.js中。
我该如何解决这个问题?
两个文件都包含:
$('.slider').each(function() {
val = $(this).attr('val')
$(this).slider({
orientation: 'horizontal',
range: "min",
max:100
});
我在两个文件中都收到错误:未捕获的TypeError:对象[object object]在Chrome之后没有方法'slider'
$(this).slider({
但是,如果我现在转到posts.js并在那里发表评论,它会毫无错误地传递,而application.js中的twin函数将会正常工作。
答案 0 :(得分:0)
管道似乎并不关心你的application.js
中是否有这一行//= require_tree .
与另一行如:
*= require jquery.ui.slider
如果jquery.ui.slider.js位于“。”之下,它只包含两次,因为这就是你告诉它要做的事情。它并没有真正检查这个文件是否已经包含在内。