Ext JS MVC をプラグイン/ホスト アーキテクチャのフロントエンド テクノロジとして使用しています。1 つのホストが存在し、多くのプラグインを xcopy 経由で簡単にインストールできます。各プラグインには Ext JS アプリケーションがあり、各プラグインはページのロード時に自身を登録します。全体的なアプリケーションはシングル ページ アプリケーション (SPA)です。
現在直面している主な問題は、10 個を超えるプラグインがインストールされており、各プラグインには少なくとも 10 個のコントローラーと、50 個を超えるビュー、ストア、およびモデルがあることです。したがって、ページを更新すると (F5)、200 近くの HTTP 要求がサーバーに到達し、3 メガバイト近くの応答が返されるまで、約 30 秒間待機する必要があります。
キャッシュが適用されていますが、これはまったく望ましくありません。初めてでもありません。素人でさえ、牛乳を得るために、農場、牛、納屋、家、道路、電気、川などが建設されるまで待つべきではないというこの議論を受け入れると思います.
この問題に対する明確な答えは、コントローラー、ビュー、ストア、およびモデルの遅延読み込みでなければなりません。しかし、それを実現するために何をしなければならないかについての明確なイメージがなく、適切で適切な答えを Web 上で見つけることができません。ほとんどの議論は遅延読み込みの要件についてのみであり、その方法については言及されていません。たとえば、このリンクを見てください。
http://www.sencha.com/forum/showthread.php?130449-Large-Single-Page-Architecture-in-ExtJS-4.0
またはこれ:
http://www.sencha.com/forum/archive/index.php/t-156694.html?s=aaeec1ce30acbc9cbd2615afadec982f
メソッドを使用する場合Ext.require
、コントローラーを単純な JavaScript ファイルとしてロードするだけで、ストア、ビュー、およびモデルをロードするためにコントローラーが階層に入ることはありません。私たちはそれをテストしました。
一方、Ext JS ではgetController()
andが見つかりません。ControllerManager
Ext JS 4.1.3 ではなくなったようです。
URL パラメーターに基づいてコントローラーを動的にロードする方法についてのアイデア (URL を解析してコントローラーを動的にロードするには、ルート エンジンが必要になる場合があります)。十分に文書化された記事やコード サンプルを含むフォーラム ディスカッションでさえ、私たちを助けることができます。