6

初めての大規模な Backbone/RequireJS アプリに取り組んでいますが、簡単な質問があります。

ページでビューを開き、コンソールを使用している場合、バックボーン オブジェクト (モデル、ビューなど) のプロパティにアクセスするにはどうすればよいですか。

伝統的にバックボーンでは、私はこれを行います:

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

require を使用すると、このようなグローバル オブジェクトはもうありません。私がデバッグのために行ったことは、コンソールからアクセスできるウィンドウに新しいオブジェクトを作成することです。ウィンドウで新しい変数を作成せずにこれを掘り下げる方法はありますか? (私は明らかに、本番前にこのグローバル obj を削除しますが、ステップを保存してコンソールに直接移動することを好みます)。

乾杯。

4

2 に答える 2

5

これに対する優れた解決策は見つかりませんでしたが、これが私がしていることです。

1 つのモジュールにアクセスしたいだけの場合は、require スペル全体を入力します。

> 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);

また、何かの既存のインスタンスが必要な場合は、デバッガーでブレークポイントを設定し、コンソールでブレーク モードで使用できるローカルを使用します。

私は間違いなくより良い方法にも興味があります。

于 2012-12-17T21:19:47.357 に答える