我不明白。使用JSFiddle时,这个简单的例子工作正常:
SearchView = Backbone.View.extend({
initialize: function(){
alert('hello');
}
});
var search_view = new SearchView;
然而,当我在Node应用程序中实现相同的功能时,我在页面加载时遇到以下错误。
"Uncaught TypeError: undefined is not a function" - localhost:3000/bower_components/backbone/backbone.js:1105
我毫不怀疑我错过了一些非常简单的东西,但它让我疯狂。
在这两种情况下,我都链接到JQuery,Underscore和Backbone ..但有人我的项目不起作用。我在这里查看我的项目...... https://warrickf@bitbucket.org/warrickf/searchview.git
由于 瓦里克
答案 0 :(得分:2)
问题是你在Backbone之后加载jQuery。 Backbone依赖于jQuery和Underscore,所以你需要在加载Backbone之前加载它们。
script(src='/bower_components/underscore/underscore.js')
script(src='/bower_components/jquery/dist/jquery.js')
script(src='/bower_components/backbone/backbone.js')
答案 1 :(得分:0)
我认为你的backbone.js版本存在一些问题。我只是去你的小提琴复制了backbone.js库的位置并添加到index.jade。
在index.jade
中的脚本标记之前添加此行script(type="text/javascript" src="http://ajax.cdnjs.com/ajax/libs/backbone.js/0.3.3/backbone-min.js")
如果你看到你的小提琴,那就是使用0.3.3版本的backbone.js。如果我在你的小提琴中添加1.1.2版本将无法正常工作。所以你必须找出你必须使用的版本。