Build 使用两级包路径构建dojo 1.8
我正在尝试使用dojo构建工具创建一个发布结构,如下所示:Build 使用两级包路径构建dojo 1.8,build,dojo,Build,Dojo,我正在尝试使用dojo构建工具创建一个发布结构,如下所示: relDir ->dojo ->dijit ->dojox ->mynamespace ->package1 ->package2 relDir ->dojo ->dijit ->dojox ->mynamespace ->package1 All package1 copy
relDir
->dojo
->dijit
->dojox
->mynamespace
->package1
->package2
relDir
->dojo
->dijit
->dojox
->mynamespace
->package1
All package1 copyOnly files
->package2
All package2 copyOnly files
->package1
All package1 js and uncompressed.js files, but all files are empty
->package2
All package2 js and uncompressed.js files, but all files are empty
在构建概要文件中,我给出了以下说明:
"packages":[
{
"name":"dojo",
"location":"vendor\/dojo\/dojo"
},
{
"name":"dijit",
"location":"vendor\/dojo\/dijit"
},
{
"name":"dojox",
"location":"vendor\/dojo\/dojox"
},
{
"name":"mynamespace\/package1",
"location":"vendor\/mynamespace\/package1"
},
{
"name":"mynamespace\/package2",
"location":"vendor\/mynamespace\/package2"
}
]
但是,构建工具似乎不喜欢由两部分组成的包名,并给出了如下目录结构:
relDir
->dojo
->dijit
->dojox
->mynamespace
->package1
->package2
relDir
->dojo
->dijit
->dojox
->mynamespace
->package1
All package1 copyOnly files
->package2
All package2 copyOnly files
->package1
All package1 js and uncompressed.js files, but all files are empty
->package2
All package2 js and uncompressed.js files, but all files are empty
如果我更改packages::name
以删除mynamespace
,则不存在空js文件,输出目录结构为:
relDir
->dojo
->dijit
->dojox
->package1
->package2
如何将
mynamespace
目录放入构建的结构中,而不使构建工具崩溃?在对源代码进行深入研究后,我找到了解决方案,而且很简单。需要使用package指令上的destLocation
键。因此:
"packages":[
{
"name":"dojo",
"location":"vendor\/dojo\/dojo"
},
{
"name":"dijit",
"location":"vendor\/dojo\/dijit"
},
{
"name":"dojox",
"location":"vendor\/dojo\/dojox"
},
{
"name":"mynamespace\/package1",
"location":"vendor\/mynamespace\/package1",
"destLocation": "mynamespace\/package1"
},
{
"name":"mynamespace\/package2",
"location":"vendor\/mynamespace\/package2",
"destLocation": "mynamespace\/package2"
}
]