React(with Redux)とAngular 2を選択するための長い3か月にわたる議論と研究の末、私の会社のフロントエンドチームは、Angular 2を採用することを決定しました(私たちの問題により適しています)。
現在、多くの異なるフロントエンドテクノロジーで構成されているエンタープライズアプリビジネスに取り組んでいます(バックエンド全体をRESTfulにしています)。すべてを置き換えて、将来のトレーニングと品質管理を容易にする単一のテクノロジーが必要でした。
私たちの製品の性質を考えると、それは広大であり、その中には異なるドメインであり、スタンドアロンアプリとして作成できるモジュールがありますが、製品自体は単一のURLに存在します。
例;
私の製品をSuperAppと呼びましょう。
UIとして、SuperAppには標準のログインシステムと、子モジュール/サブ製品へのナビゲーションがあり、ワークフローは次のように表示されます。
SuperApp
- ユーザーを認証する
- パスワードを忘れたウィザード
- 認証なしでアクセスできる公開ページ
認証されたユーザー
ナビゲーションシステム
- ホーム
- サブ製品1
- サブ製品2
- サブ製品3
プロフィール
...
...
グループ
...
...
- ホーム
上記表現にそのノート、Sub-product1
そしてSub-product2
全く異なるビジネスドメインを有する、2つの全く異なる領域です。
私が今考えることができるのは、自分自身に関連するコンポーネントとビューのみを持つ単一のAngular 2プロジェクトとしてSuperAppを作成でき、SuperAppは複数の子アプリのロードも担当しているということです。Sub-product1
、Sub-product2
(自分の有する再び、異なる角度の2つのプロジェクトpackage.json
、webpack
設定、等)をダムコンポーネントを介して、トップレベルのルーティングを提供するシェルと、これらの子アプリを保持するためのプレースホルダとして機能します。
、いったんSub-product1
シェル内にロードされ、それがSuperAppがで上陸したことを現在のルートに、独自のルートを追加します。
分離が必要な理由は、これらのさまざまなアプリ(現在はExtJSを使用して構築されている)が専用のチーム(私たちは500人以上の開発者を抱えている会社です)を持っているためです。グランド親アプリに依存せずに好みに依存します。
しかし、公式のAngularドキュメントやWebでは、ネストされたAngularアプリを持つことができるかどうかはまったくわかりません(子アプリの依存関係が完全に分離されてロードされている間にフレームワークコードが共有される方法で)またはそのような問題を解決するための代替アプローチがあるかどうか。
関連する記事へのガイダンスやリンクも歓迎します。