6

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

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

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

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

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

干杯。

4

2 回答 2

5

我还没有找到一个很好的解决方案,但这就是我所做的。

如果我只想访问单个模块,我输入整个 require 拼写:

> require(['models/foo'], function(foo) { window.foo = foo; });
> foo.something();

有时,如果我需要访问多个模块,我会先为 helper 定义一个单行

> var req = function(module, name) { require([module], function(m) { window[name] = m; });}

> req('models/foo', 'foo');
> req('models/bar', 'bar');
> foo.something(bar);

如果我需要某个已经存在的实例,我只需在调试器中设置一个断点并使用本地变量,它们在中断模式下在控制台中可用。

我肯定也会对更好的方式感兴趣。

于 2012-12-17T21:19:47.357 回答
0

你试过了var m = require('your_module')吗?

我应该工作得很好。

于 2014-05-26T09:39:16.720 回答