简单的骨干应用程序通过错误

时间:2014-07-08 03:08:43

标签: javascript node.js backbone.js

我不明白。使用JSFiddle时,这个简单的例子工作正常:

Fiddle

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

由于 瓦里克

2 个答案:

答案 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版本将无法正常工作。所以你必须找出你必须使用的版本。