古い Dojo ビルド システムから新しいビルド システムに切り替えようとしています。私は髪を引っ張ってきましたが、ビルド プロファイルで指定したカスタム パス マッピングをビルド スクリプトが取得できないようです。したがって、私のプロジェクト構造が次のような場合:
/www/dojo
/www/dojox
/www/dijit
/www/app.profile.js
/www/myapp/package.json #links to myapp.profile.js
/www/myapp/myapp.profile.js #standard package profile stub
#with test,copyOnly,amd
/www/myapp/main.js
/www/myapp/bar/hello.js
/www/myapp/bar/sometext.html
ファイルは次のようになります。
//-------------------------------------------
//FILE: app.profile.js
//-------------------------------------------
var profile = (function(){
return {
basePath: ".",
releaseDir: "builds",
releaseName: "v0_0_1",
optimize: "closure",
cssOptimize: "comments",
action: "release",
packages:[
{
name: "dojo",
location: "dojo/dojo"
},
{
name: "myapp",
location: "myapp"
}
],
prefixes: {
"foo": "bar" //doesn't seem to work?
},
paths: {
"foo": "bar" //doesn't seem to work?
},
loaderConfig:{
paths: {
"foo": "bar" //doesn't seem to work?
},
},
layers: {
"mypp/myapp-release": {
include: [
"myapp/main"
]
}
}
};
})();
//--------------------------------------
//FILE: main.js
//--------------------------------------
require(["dojo/_base/html", "foo/hello", "dojo/text!foo/sometext.html"],
function(html, Bar, sometext){
alert(sometext);
}
);
//--------------------------------------
//FILE: hello.js
//--------------------------------------
require([ ],
function(){
alert("hello!");
}
);
そして、次のようにビルド コマンドを実行しています。
node /www/dojo/dojo.js load=build /www/app.profile.js
ビルド スクリプトは、依存関係 "foo/hello" が見つからないことを通知しますが、これは bar/hello.js にマップされているはずです。同じことが foo/sometext.html にも当てはまります。
どんな助けでも大歓迎です。ハゲるまで髪を引っ張りたくない!:D