我正在开发我的第一个大型Backbone / RequireJS应用程序,我有一个简单的问题。
当我在页面上打开一个视图,并且我在控制台中时,如何访问我的Backbone对象的属性(模型,视图等)。
传统上在Backbone中,我这样做:
var myApp : {
models: {},
views: {},
etc...
}
使用require,我没有这样的全局对象了。我为调试做的只是在窗口上创建一个新对象,然后我可以从控制台访问。有没有办法在不必在窗口上创建新变量的情况下深入研究这个问题? (我显然会在制作之前删除这个全局obj,只是希望保存步骤并直接进入控制台)。
干杯。
答案 0 :(得分:5)
我还没有找到一个很好的解决方案,但这就是我的工作。
如果我只想访问单个模块,我输入整个需要法术:
> require(['models/foo'], function(foo) { window.foo = foo; });
> foo.something();
有时,如果我需要访问多个模块,我首先为帮助者定义一个单行
> var req = function(module, name) { require([module], function(m) { window[name] = m; });}
> req('models/foo', 'foo');
> req('models/bar', 'bar');
> foo.something(bar);
如果我需要一个已经存在的某个实例,我只需在调试器中设置一个断点并使用本地数据,这些是在休息模式下控制台中可用的。
我肯定会对更好的方式感兴趣。
答案 1 :(得分:0)
你试过var m = require('your_module')
吗?
我应该工作得很好。