バックグラウンド
既存の JavaScript アプリケーション (1 ページ アプリ) を extjs に移行する必要があります。アプリケーションの表示と動作は、ユーザーの権限に依存します。
現在のデザイン
アプリケーションは、権限が付与される機能セットを表すプラグインに分割されます。これらのプラグインはそれぞれ、単一の JavaScript ファイルで構成されています。ユーザーは、1 つ以上のプラグインに対するアクセス許可を持つことができます。権限に応じて、これらのファイルはページの先頭にロードされます。これらの各プラグインは、そのエントリをメイン メニューに追加し、アプリケーションの駆動に使用されるメソッドを公開します。
アクセス許可は mysql データベースに保存されます。
ExtJs のデフォルト設計
ExtJs では、ソース ファイルにそれぞれのクラスが含まれています。ビルド プロセス中に、すべての .js ファイルが連結されて、すべてを含む 1 つの大きな .js ファイルが生成されます。
最適な設計アプローチは何でしょうか?
- でカスタム コンパイルを使用することを検討し
sencha cmd
、その方法でプラグインごとに .js ファイルを作成しました。次に、これらのプラグインを今と同じ方法でロードできました。ただし、これにより、ビルドと展開のプロセスが複雑になります。 - また、標準の Ext ビルド プロセスで .js ファイルを 1 つだけ作成することも考えました。次に、メニューを構築するために、ajax を介してサーバーからアクセス許可を読み込みます。すべてのオブジェクトとメソッドが存在しますが、ユーザーがアクセス許可を持っている場合にのみアクセスできます。
私の意見では、2 番目のアプローチは保守がはるかに簡単ですが、セキュリティ上の問題があるように見えます。なぜなら、誰もがソースを見て、サーバー上で公開され、ajax によって消費されるデータ インターフェイスについて知ることができるからです。
コメント、アイデア、アドバイスは大歓迎です。ありがとう !