2

認証/ログインしたばかりのユーザーのタイプに応じて、まったく異なるインターフェイス/ユーザーエクスペリエンスで構成される新しい Web アプリケーションを構築しています。これらのユーザーを管理者と代理人と呼びましょう。

このアプリケーションでは、管理者と代理人はまったく異なる機能を持っています。私のモジュールの小さなサブセットのみが両方で使用されます。これは基本的に、バックエンドに接続された 2 つの異なるクライアント アプリケーションです。

オプティマイザーで2 つの異なるビルド ファイルを作成しRequireJS、ユーザーがログインを実行したときにサーバーが返す内容に応じて、どちらかをページに挿入する必要がありますか? または、requirejs の動的モジュールの読み込みにもっと集中し、必要なときに必要なモジュールを読み込む必要があります (したがって、多くの余分な http 要求が実行されます:/)

4

1 に答える 1

2

多くのビューとモデルを共有する Backbone アプリがありますが、すべてのクライアントがすべてのナビゲーション ポイントを持っているわけではなく、一部のモデルは異なる動作をします。

そのため、最初に単一の require エントリ ポイントと、すべてのクライアントに対して単一の require.config を用意します。

Bootstrap-client1.js

requirejs.config({
  baseUrl: 'js/cfe/app',
  paths: {
    'common/ViewA': 'clients/client1/ViewA',
    'common/ModelB': 'clients/client1/ModelB',
    'common/ColletionC': 'clients/client1/CollectionC'
  }
});

requirejs([
  'common/App',
  'common/BaseSetup'],

  function(app, BaseSetup) {
    $(function() {

      BaseSetup.start();

      app.start();
    });
  }
);

したがって、後でModelBこれを必要とする共有ビューを使用すると、実装に置き換えられますclient1/ModelB

本番環境では、r コンパイラを使用してすべてのクライアント用に単一のコンパイル済みバージョンを構築し、data-mainクライアントが html ファイルを要求したときに html ファイル内の属性のソースを変更します。

于 2013-03-14T07:33:37.860 に答える