Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Build 使用两级包路径构建dojo 1.8_Build_Dojo - Fatal编程技术网

Build 使用两级包路径构建dojo 1.8

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

我正在尝试使用dojo构建工具创建一个发布结构,如下所示:

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"
    }
]