バグのように見えますが、Sencha は単に app.js ファイルと css ファイルを含めるのではなく、マイクロローダーを使用する方向に進んでいると思います。だから私の短い答えは両方です!:)
今長いもの:
私は、Webroot から遠く離れた場所にあると同時に、開発モードと運用モード (環境) の両方で利用できるようにする ExtJS アプリケーションのセットアップで遊んでいました。
Sencha CMD アプリのapp.jsonを設定して、microloader.jsが必要な js ファイルと css ファイルをロードするようにするのは、少し難しいことがわかりました。
私のフォルダー設定は以下の通りです:
(私のビルドフォルダーはSencha CMDアプリケーションフォルダーの外側にあります - MyApp - パスの深さを同じにするためです)
index.cfm
/far/away/from/web/root
....
/build
/resources
app.js
app.json
microloader.js
...
/MyApp
/.sencha
/ext
app.json
app.js
bootstrap.js
....
MyApp/app.json
{
/**
* The application's namespace.
*/
"name": "MyApp",
/**
* The relative path to the appliaction's markup file (html, jsp, asp, etc.)
*
* Below setting seems relevant for proper loading MyApp/bootstrap.js
*/
"indexHtmlPath": "../../../../../index.cfm",
......
"output": {
"base": "${workspace.build.dir}",
"page": {
/**
* Below is relative path from the build folder to the application markup file
*/
"path": "../../../../../index.cfm",
"enable": false
},
"microloader": {
"path": "microloader.js",
"embed": false,
"enable": true
},
"manifest": {
"path": "app.json",
"embed": false,
"enable": "${app.output.microloader.enable}"
}
},
/**
* Uniquely generated id for this application, used as prefix for localStorage keys.
* Normally you should never change this value.
*/
"id": "f6cd3e2b-6a0c-4359-a452-e07adda808ae"
}
最初は、本番ビルドを使用するために、/far/away/from/web/root/build/app.jsファイルを直接ロードしていましたが、同じエラーがスローされました。
Uncaught TypeError: Cannot read property 'baseUrl' of undefined
app.jsonを上記のように構成したら、index.cfmでロードするかどうかを選択できます。
for production - /far/away/from/web/root/build/microloader.js
for development - /far/away/from/web/root/MyApp/bootstrap.js
これが誰かに役立つことを願っています。
乾杯、ペンチョ