角型アプリケーションに問題があります。角型アプリケーションに動的外部コンポーネントを読み込む方法
私は、(aot)でTypscriptビルドで書かれた角度のアプリケーションを持っていたいと思います。
目的は、いくつかのウィジェットを持つユーザーダッシュボードを表示することです。ウィジェットは角度成分です。
私のアプリにはウィジェットが組み込まれています。 しかし、ウィジェットは市場のようなもので拡張する必要があります。手動で作成することもできます。
市場では、ファイル(js/ts/bunlde .. ??)を特定のフォルダにダウンロードする必要があります。
私のアプリは新しいウィジェット(= ngコンポーネント)を読み込んでインスタンス化できるはずです。
マイフォルダ構造(生産)
|- index.html
|- main.f5b448e73f5a1f3f796e.bundle.js
|- main.f5b448e73f5a1f3f796e.bundle.js.map
|- .... (all other files generated)
|- externalWidgets
|- widgetA
|- widjetA.js
|- widjetA.js.map
|- assets
|- image.png
|- widgetB
|- widjetB.ts
|- widjetB.html
|- widjetB.css
ユーザーページをロードするときに、データベースがwidgetAがあることを言います。 これは、ファイルを動的にロードし、含まれているコンポーネントをインスタンス化することを目的としています。
"require"と "System.import"を使用して多くのソリューションを試しましたが、ロードするパスが動的に生成されたときに両方が失敗します。
これは可能でしょうか? 自分のコード構造を変更できます。 (例えば、widgetBはまだ蒸散されていない、など...)
実際、私はAngular4/webpackアプリケーションで「プラグインシステム」を探しています。
あなたのアプローチは、非常に興味深いです使用している可能性がありリモートでホストされているコンポーネント/モジュールをインポートするには? – Seb
@Seb、そうですが、そのためにSystemJSを使用する必要があります –
私のためのトリックをすることができる素晴らしい!あなたはsystemJsとwebpackをどのように統合するかの例を持っていますか?リモートコンポーネントのSystem.importの例 – Seb