从控制台访问requireJS模块中的骨干对象

时间:2012-12-17 19:22:35

标签: backbone.js requirejs

我正在开发我的第一个大型Backbone / RequireJS应用程序,我有一个简单的问题。

当我在页面上打开一个视图,并且我在控制台中时,如何访问我的Backbone对象的属性(模型,视图等)。

传统上在Backbone中,我这样做:

 var myApp : {
    models: {},
    views: {},
    etc...
}

使用require,我没有这样的全局对象了。我为调试做的只是在窗口上创建一个新对象,然后我可以从控制台访问。有没有办法在不必在窗口上创建新变量的情况下深入研究这个问题? (我显然会在制作之前删除这个全局obj,只是希望保存步骤并直接进入控制台)。

干杯。

2 个答案:

答案 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')吗?

我应该工作得很好。