2

アプリケーションを再生するためにすべてのソース ファイルをロードする必要のないシステムを構築する方法を探しています。私の過去のプロジェクトには 200 以上の .js ファイルがあり (冗談ではありません!)、開発した機能をテストするためにページをリロードするのが非常に遅かったです。

Dojo を調べたところ、どうやって動的ローダーを構築したかがわかります。基本的に、単一のコア コンポーネントをロードするだけで、必要に応じて他のすべてがロードされます。

JavaScript でオブジェクトの新しいインスタンスを作成できるようにするファクトリ メソッドをアプリケーションに実装することを考えています。

var user = MyApp.create('MyApp.model.User');

それ以外の:

var user = new MyApp.model.User();

new キーワードを使用しない理由は、前者のアプローチでは、コンポーネントがまだ存在しない場合に、遅延読み込み方式でコンポーネントを動的に読み込むことができるからです。ファクトリ メソッドは、ターゲット オブジェクトが定義されているかどうかを調べるだけで、定義されていない場合はそれをロードします。

私が直面している唯一の問題は、IDE が理解しなくなったという事実です。そのuserタイプMyApp.model.Userは確かに良いことではありません。

このジレンマを解決する方法はありますか? そのファクトリメソッドをどうにかしてJsDocにできますか?

4

1 に答える 1

2

ファクトリ メソッドが引数に基づいてさまざまなタイプのオブジェクトを返す場合、ファクトリ メソッド自体の戻り値を ( を使用して@returns) IDE が理解できる方法で文書化することはできません。少なくとも私はそれを行う方法を知りません。

ただし、次のように、オブジェクトを保持する変数に注釈を付けることで、問題を簡単に解決できます。

/**
 * @type {MyApp.model.User}
 */
var user = MyApp.create('MyApp.model.User');

もちろん、特定の IDE がこれを解釈できるかどうかはわかりません。私の缶(Komodoを使用)。

于 2011-11-01T21:03:37.063 に答える