简单的骨干应用程序通过错误
我不明白。 当使用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,下划线和Backbone ..但有人我的项目不起作用。 我在这里检查我的项目… https://warrickf@bitbucket.org/warrickf/searchview.git
感谢Warrick
问题是你在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')
我认为你的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它将无法正常工作。 所以你必须弄清楚你必须使用什么版本。