尝试按照 Ryan Bates Backbone.js 教程构建抽奖应用程序,但我已经遇到了第一部分代码的问题。在 application.js 的 init 函数中,他初始化了 Raffler 路线的新实例,该实例应该触发警报“主页”,但我在 Firebug 中收到以下我不明白的错误
entries.js:5Uncaught ReferenceError: Raffler is not defined
entry.js:15Uncaught ReferenceError: Backbone is not defined
entries.js:23Uncaught ReferenceError: Backbone is not defined
index.js:17Uncaught ReferenceError: Backbone is not defined
application.js:7Uncaught SyntaxError: Invalid regular expression: missing /
raffler.js:9Uncaught TypeError: undefined is not a function
我有什么想法可以解决这个问题吗?
javascripts/raffler/application.js
window.Raffler =
Models: {}
Collections: {}
Views: {}
Routers: {}
init: ->
new Raffler.Routers.Entries()
Backbone.history.start()
$(document).ready ->
Raffler.init()
路由器/entries.js
class Raffler.Routers.Entries extends Backbone.Router
routes:
'': 'index'
index: ->
alert "home page"
Update
当我运行发电机后//= require_tree .
就在 require jquery_ujs 之后,我发现(我认为)是导致一些问题的原因。但是,我现在已将其移至底部,但仍然收到此错误
Raffler.Routers.Entries is not a constructor
[Break On This Error]
new Raffler.Routers.Entries();
应用程序.js
//= require jquery
//= require jquery_ujs
//= require underscore
//= require backbone
//
//= require .//raffler
//
//= require_tree ../templates/
//= require_tree .//models
//= require_tree .//collections
//= require_tree .//views
//= require_tree .//routers
//= require_tree .