これは、特に長いモジュールのリストではありません。Dojo はその機能を非常に小さなモジュールに分割しているため、かなりの数のモジュールをフェッチするのが普通です。
コールバックでそれらを要求したくないことは間違いありません。define
は基本的に と同じrequire
ですが、依存関係を持つ非同期モジュールの結果を宣言するためにモジュールの先頭で使用されます。
注目すべきことの 1 つは、クラスの依存関係を同じ名前または類似した名前のパラメーターに注入する価値があるということです。これにより、結果のdeclare
呼び出しがより簡単になります。
define(["dojo/_base/declare", "dijit/_WidgetBase", "dijit/_TemplatedMixin", "dojo/text!mytemplate.html"], function(declare, _WidgetBase, _TemplatedMixin, template) {
return declare("my.Widget", [_WidgetBase, _TemplatedMixin], {
templateString: template
};
});
依存関係を論理的なグループにグループ化することもできます。たとえば、基本クラスをまとめたり、ヘルパー モジュールをまとめたりします。また、モジュールリストの最後で、テンプレートに記載されている他のモジュールを宣言する必要があります。コードでそれらを使用していない場合は、必ずしもそれらをコールバックパラメーターとして宣言する必要はありませんused/by/template1
。used/by/template2
ここ:
define(["dojo/_base/declare", "dijit/_WidgetBase", "dijit/_TemplatedMixin", "dojo/text!mytemplate.html", "used/by/template1", "used/by/template2"], function(declare, _WidgetBase, _TemplatedMixin, template) {
return declare("my.Widget", [_WidgetBase, _TemplatedMixin], {
templateString: template
};
});