1

Dojo ビルド ツールを使用して、次のようなリリース構造を作成しようとしています。

relDir
  ->dojo
  ->dijit
  ->dojox
  ->mynamespace
     ->package1
     ->package2

ビルド プロファイルでは、次の指示を与えます。

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

ただし、ビルド ツールは 2 つの部分からなるパッケージ名が気に入らないようで、次のようなディレクトリ構造を吐き出します。

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を removeに変更するmynamespaceと、空の js ファイルはなくなり、出力ディレクトリ構造は次のようになります。

relDir
   ->dojo
   ->dijit
   ->dojox
   ->package1
   ->package2

mynamespaceビルド ツールを壊さずにディレクトリをビルド構造に入れるにはどうすればよいですか?

4

1 に答える 1

2

ソースを掘り下げた後、解決策を見つけました-そしてそれは簡単です. 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"
    }
]
于 2012-08-15T23:31:40.877 に答える