2017-07-20 17 views
0

ロードするメインアプリケーションシェルに、ユーザーがアクセスできるモジュールのリスト(このアプリケーションスイッチャーと呼ぶ)を指定し、最初のアプリケーションをデフォルト。ユーザーがApp2を選択するか、またはいくつかのアプリケーションアイコンをクリックすると、メインシェルはApp1モジュールをアンロードしてApp2モジュールをロードし、ルートとナビゲーションが変更されます。角度2/4メインアプリケーション遅延ロード/アンロードモジュール

IISで複数の角型アプリケーションを使用したいとは限りませんが、モジュールやサブアプリケーションのロード/アンロードを遅延させることはできません。

もしこのデザインに役立つ例やリソースがあれば教えてください。

+0

これまでに何を試しましたか? – Roy

+0

私は怠惰なロードモジュールがどのように動作するのかを見ていますが、これを実行する最良の方法はわかりません。 – Fab

+0

このようなシステムを構築するには、Angular内部について知っておく必要がある情報があります。また、ルーティングの更新がそれを容易にしません。オプションの1つは[PlatformRef](https://angular.io/api/core/PlatformRef)で直接作業することです。 'bootstrapModuleFactory'と' destroy'メソッドを使います。しかし、ブートストラップに関するすべてのAPIは実験的で現在検討中です。 –

答えて

1

はい、これは絶対に可能です。必要に応じて、追加のモジュールを保存して読み込むメインアプリケーションを用意します。私はあなたが別のモジュールに切り替えた後にブラウザにモジュールをパージするように強制することはできませんが、オンデマンドで確実にモジュールをロードできます。

はこれを見ている:

Lazy loading: code splitting NgModules with Webpack

「のが角度、遅延ロードとのWebPACKのふりかけのコード分割についてお話しましょうコードの分割は、私たちは基本的にダウン小さな塊に私たちのコードベースを破ることができます。要求に応じてこれらのチャンクを提供します。これを「遅延ロード」と呼びます。そのための方法とその背後にあるいくつかの概念/用語を学びましょう。

+0

ええ、私はそれが私が探しているものだと思っています。私は遅延ロードモジュールを理解していますが、選択したアプリケーションに応じて経路やナビゲーション、さらにはUIの変更を行うことができます。一度ロードされると、モジュールをアンロードして再ロードすることは意味がないと思います。私はこのルートを試してみようと思います。良い例え!どうもありがとうございました。 – Fab

関連する問題