2012-10-09 51 views
1

在我们道场的系统,我们有一些像我们dojoConfig在下列规定:Dojo构建包配置

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

所以,在我们需要声明,所有我们需要做的是一样的东西:

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

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

现在,我已经尝试向构建配置文件添加一个包块,但最终结果是创建一个实际的'myWidgets'包,这是我不想要的。

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

+0

道场的什么版本? –

+0

对不起,它的1.7.2 – sma

回答

1

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

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

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

你也可以指定保存dojoConfig

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

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


回应你的评论。路径与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 
+0

我试过在命令行上实际使用配置文件和dojoConfig文件。最终的结果是我没有缺失的依赖性错误,但myWidgets包是在项目根目录再次创建的。 构建配置文件中的'packages'属性与dojoConfig中的'packages'属性之间有什么区别? – sma

+0

我没有看到任何可能输出到别的地方。您将不得不手动复制文件。 –

+0

我们是否正确使用dojoConfig中的packages属性呢?我尝试使用'路径',但也没有工作。我只需要在dojoConfig中指定一个路径的别名,但不会在构建时为其创建一个包。 – sma