1

js コードがデータベースに格納され、クラスに動的にロードされるプラグイン メカニズムを実装したいと考えています。特定のプラグインのクエリが実行され、クエリの結果のコードを使用して JavaScript クラス (関数とメンバー) が更新されます。

したがって、クラスの一部が起動時にJSクラスファイルからロードされ、クラスの追加部分がdbからロードされ、実行時に最終的にアンロードされ、より多くの機能が提供されます。

これは実現可能ですか?文字列から関数を作成するには? それは良いアプローチだと思いますか?

JS フレームワークは ExtJS 4.1.1、データベースは postgres 9.2

ありがとう

4

1 に答える 1

1

ExtJS は初めてですが、この方法はお勧めしません。

  1. ExtJS には、推奨されるディレクトリ階層と強力なコマンド ライン ビルド ツールがあります。ダウンロードして、テストアプリで遊んでください。アプローチをこれと組み合わせることができるかどうかがわかります。本当に疑問です。自分のアプローチに固執したい場合は、ExtJS アプリケーション アーキテクチャの基本的な要件と推奨事項と互換性を持たせる必要があります。
  2. 保守性を考えてください。データベースのコードをどのように更新しますか? 開発バージョンのコードも DB に含まれますか?
    はい: これは開発には非常に実用的では
    ありません。いいえ: ビルド プロセスは非常に重く、複雑になります。

アプリのプラグインに関する私の個人的なアプローチは次のとおりです。

  1. 私のデータベースでは、どのユーザーがどのプラグインにアクセスできるかを保存しています。依存関係も保存します。この情報を、ユーザーが使用を許可されているプラ​​グインのリストを含む単純な配列でクライアントに送信します。
  2. アプリケーションコードは誰にとっても同じです。これにより、縮小された JavaScript ファイルを 1 つだけ使用できるようになり、sencha app buildコマンド ラインでビルドします。
  3. プラグインをロードするlaunch方法は、基本的Ext.applicationに各プラグインのメニューをメイン メニューに追加することです。
  4. プラグインへのアクセスを保護するために、php バックエンド全体が保護され、ユーザーが許可された機能にのみアクセスできるようになっています。

これにより、よりシンプルなコンセプトを開発するためのインスピレーションが得られることを願っています。

于 2013-10-12T16:11:25.703 に答える