1

既存の ExtJS 4.1.3 アプリケーションを、Sencha CMD 推奨の構造とツールを使用するように変換しました。最初に構造を作成してから、既存のアプリの JS ファイルを、単一ページの JS アプリが配置されるべき場所に配置しました。

現在、次の場所でアプリケーションの開発バージョンにアクセスしています。

{my-server-side-app-url}/sws/dt/index.jsp

Sencha ワークスペースswsSencha single-page appです。これまでのところ、問題はないと思います。次に、次のコマンドを実行します。dt

sencha app build

appのディレクトリ内。これはいくつかのYui Compressor Warning (Trailing comma is not legal in an ECMA-262 object initializer警告で完了しますが、エラーはありません。したがって、次のURLの本番 index.jspページ(上記のコマンドall-classes.jsの連結出力を受け取るファイルを使用):app build

{my-server-side-app-url}/sws/build/dt/production/index.jsp

この問題は、理論的にはファイル自体に含まれているはずall-classes.jsの複数のファイルをロードしようとすると発生します。これらには、app.jsで指定されているコントローラーが含まれます。

これらのファイルが で連結されないのはなぜall-classes.jsですか? 以下は、Chrome が からそれらをロードしようとしてall-classes.js、もちろん見つからないスクリーンショットです。

ここに画像の説明を入力

私は何を試しましたか?を介してコントローラーapp.js要求する ように微調整しようとしましたrequiresまたは、この質問と回答のペアusesで推奨されているように、必要なクラスを利用できるようにしますが、役に立ちません。

4

3 に答える 3

0

私はまだ問題を完全には理解していませんが、これは私が問題を修正するためにしたことです。

私は2つのモデルを持っていました。App.jsそれぞれとの関係Window.jsがありhasManyました。belongsToApp.js

associations: [{
    type : 'hasMany',
    model: 'WD.model.Window',
    name : 'windows'
}]

私が持っていた間Window.js

associations: [{
    type : 'belongsTo',
    model: 'WD.model.App',
    associationKey: 'appId'
}]

404私はこれらの部分が問題を引き起こしているのではないかと疑い始めました。なぜなら、それらは;を与える唯一のExtJSモジュールだったからです。を与える他のモジュールは、と404を使用するモデルファイルに依存します。hasManybelongsTo

上に貼り付けたスニペットを削除しただけassociationsです(子が自動的に読み込まれるのではなく、自分でデータを読み込む必要があるため、実際には機能しないため、現在は使用していません)。その後、再実行sencha app buildすると、製品版正常に動作します。

誰か(特にSenchaの誰か)が私の不器用な修正が機能する理由を正確に知っている場合は、以下の質問またはコメントに答えてください。答えを更新します。

@bhovhannesの回答に感謝しますが、それでも問題に対する有用な洞察につながりました。+1。

于 2013-02-08T15:32:37.530 に答える
0

私も同じ問題を抱えていましたが、この問題を解決するには、クラスの名前を変更するだけです。SenchaCmd 3.1.xx と Sencha Touch 2.2 を使ってビルドしました

于 2013-06-20T08:29:35.470 に答える