一旦将RequireJS添加到BackboneJS应用程序中,我就无法访问chrome控制台中的实例变量。
以下是示例:
只有BackboneJS:http://todomvc.com/architecture-examples/backbone/
打开chrome控制台并输入键(窗口)以查找各种BackboneJS脚本中使用的实例变量“app”:
// instance variable app is also found under window
keys(window)
["top", "window", "location", "external", "chrome", "Intl", "v8Intl", "document", "_gaq", "_gat", "gaGlobal", "$", "jQuery", "_", "Backbone", "Store", "app", "jQuery191046978461160324514", "ENTER_KEY", "css", "cssFile", "cssRule"]
// debug the app object with Collections, Models, Views, Routers, etc
app
Object {Todo: function, todos: child, TodoView: function, AppView: function, TodoRouter: child…}
AppView: function (){ return parent.apply(this, arguments); }
Todo: function (){ return parent.apply(this, arguments); }
TodoFilter: ""
TodoRouter: child
TodoView: function (){ return parent.apply(this, arguments); }
todos: child
__proto__: Object
BackboneJS + RequireJS:http://todomvc.com/dependency-examples/backbone_require/
打开chrome控制台并输入键(窗口)并尝试找出BackboneJS的实例变量,类似于前面的示例:
keys(window)
["top", "window", "location", "external", "chrome", "Intl", "v8Intl", "document", "_gaq", "requirejs", "require", "define", "_gat", "gaGlobal", "_", "$", "jQuery", "css", "cssFile", "cssRule", "Backbone", "Store", "jQuery191032673427602276206"]
// I cant debug the BackboneJS object when it is used with RequireJS
如何使用RequireJS访问BackboneJS应用程序中的相同实例变量“app”?
使用RequireJS时,有没有办法访问Backbone应用程序的集合,模型,视图,路由器等?
我无法解决这个问题,因为一周以后,有人可以帮助我吗?
答案 0 :(得分:2)
要求的全部要点是将东西排除在全局范围之外(好吧,也许不是整个点,但它是主要关注点)。如果您想使用Require-ed模块,则必须通过Require。
将其带入您已加载相关模块的 IF 的语法是:
var app = require('path/to/module');
您应该可以使用它来从调试器访问任何需要的文件。
答案 1 :(得分:0)
使用Chrome的Backbone Debugger扩展程序。它支持RequireJS。
或者,暂时将变量移动到脚本中的全局范围:
window.app = /* a variable you need access to */