最近、私たちのチームは、レガシー製品にマイクロ フロント エンド アーキテクチャを実装することを決定しました。これは、Asp.Net aspx ページと javascript/jquery を使用して開発されました。
昨年、アプリケーションで一部のビューに angular の使用を開始しました。angular をロードするには、prod ビルド ファイルを .net プロジェクトに配置し、コンポーネントを aspx マスター ページにロードします。
保留中の残りの古いビューを、マイクロ フロント エンド アーキテクチャを使用して角度付きに移行することを計画しています。
そのため、私は同じことについて小さな poc を行い、アーキテクチャをそれに近い場所に到達させることができました。
この URL に従って実装し、ポート 4400 で実行しました。
そして、私の既存のAngularプロジェクトでは、customElementsを使用してこれをロードしています
this.appendCustomElementWithUrls('app-positions','http://localhost:4400/main-es5.js', (<HTMLElement>document.getElementById("chartAppContainerNamInqA")) );
appendCustomElementWithUrls(name: string,url: string,target: HTMLElement){
if (!customElements.get(name)) {
const script = document.createElement('script');
script.src = url;
document.head.appendChild(script);
}
const component = document.createElement(name);
target.appendChild(component);
}
そして、これは期待どおりに機能し、開発環境に customElements をロードできます。しかし、本番環境では、実装方法が本当にわかりません。
私の懸念:
prod の一部のポートでもアプリを実行する必要がありますか? はいの場合、それを行う方法と、ユーザーがポートを変更できるように動的にすることができます。.net アプリケーションでの方法。クライアントはそのポートですでに何かを実行している可能性があるため
私が達成しようとしている方法は正しいかどうかです。
前もって感謝します。