Dojo构建包配置

时间:2012-10-09 02:29:36

标签: javascript dojo amd

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

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

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

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

问题是当我运行构建时,这个dojoConfig不可用,并且由于“myWidgets”未根据构建配置文件定义,因此我发现了许多缺少的依赖项错误。

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

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

1 个答案:

答案 0 :(得分: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