1

在我们的 Dojo 系统中,我们在 dojoConfig 中指定了如下内容:

packages: [{
    name: "myWidgets",
    location: "/js/libs/widgets"
}]

因此,在我们的 require 语句中,我们所要做的就是:

 require(["myWidgets/myCalendarWidget"....

问题是当我运行构建时,这个 dojoConfig 不可用,并且我得到许多缺少依赖项的错误,因为没有根据构建配置文件定义“myWidgets”。

现在,我也尝试在构建配置文件中添加一个包块,但最终结果是创建一个我不想要的实际“myWidgets”包。

那么,有没有办法让构建看到“myWidgets”别名的定义,但构建输出的最终结果仍然反映常规文件结构(即/js/libs/widgets)?我试图在构建配置文件的 defaultConfig 元素中定义这些路径别名,但这也不起作用。

4

1 回答 1

1

如果您使用的是配置文件,则可以在配置文件中指定包

/util/buildscripts:./build.sh profile=../../../myProfile.js

http://dojotoolkit.org/reference-guide/1.8/build/buildSystem.html#profile-basics

您还可以指定一个包含 dojoConfig 的 javascript 文件

/util/buildscripts:./build.sh --dojoConfig ../build/examples/dojoConfig.js

http://dojotoolkit.org/reference-guide/1.8/build/buildSystem.html#using-a-package-configuration


回答您的评论。该路径是相对于 dojo.js 所在位置的。

var dojoConfig = {
    parseOnLoad: true,
    isDebug: true,
    locale: 'en-us',
    paths: {
        "evf":      "../../evf"
    }
};

我的目录结构看起来像

js/dojo-1.8.0
  dijit
  dojo <-- contains dojo.js
  dojox
  util
js/evf
  myCustomWidget.js 
于 2012-10-09T12:17:32.423 回答