这不是一个特别长的模块列表。Dojo 将其功能分解为非常小的模块,因此获取其中的一些是很常见的。
您绝对不想在回调中要求它们。define
与 基本相同require
,但在模块顶部用于声明具有依赖关系的异步模块的结果。
值得注意的一件事是,将类依赖项注入具有相同或相似名称的参数可能是值得的:它使结果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
};
});