如何从小部件内部获取 dojo 模块路径

How to get dojo module path from inside of a widget

我有如下的 dojoConfig:

var base = location.href.split("/");
base.pop();
base = base.join("/");

var dojoConfig = {
      async: true,
      parseOnLoad: false,
      isDebug: false,

      packages: [{
        name: "library",
        location: base + '/js/lib'
      }, {
        name: 'widgets',
        location: base + '/js/widgets'
      }];

如何从另一个加载的模块或小部件内部访问 widgetslocation

所以从 official site 开始,dojo/require 就是这样做的。

这是一个例子:

require(["dojo/_base/xhr", "dojo/dom"], function(xhr, dom){
     // points to $dojoroot/dijit/form/tests/TestFile.html
     var url = require.toUrl("dijit/form/tests/TestFile.html");
     xhr.get({
         url: url,
         load: function(html){
             dom.byId("foo").innerHTML = html;
         }
     });
});