我正在研究 Angular 的微前端可能性。我正在研究让 UI 的不同部分独立地由他们自己的 HTTP 服务器进程提供服务但在主 UI 上动态组合的可行性;这只是一个带有占位符的 UI 模板,这些占位符将被这些动态加载的微前端替换。
目前我们正在为此使用 iframe,除了客户端浏览器所需的额外资源以及不那么动态和有限的方法之外,它的效果很好。
我的问题是,是否可以在 Angular 应用程序中实现一个共享且众所周知的组件接口的组件,从另一个 URL 动态加载;在我们的例子中子域?
例如,我们有以下域:
- 域名.com
- sub1.domain.com
- sub2.domain.com
我们从 sub1.domain.com 获得以下组件:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'sales-frontend',
templateUrl: './sales-frontend.component.html',
styleUrls: ['./sales-frontend.component.css']
})
export class SalesFrontEndComponent implements SharedInterface, OnInit {
constructor() { }
ngOnInit() {
}
}
是否可以从 sub1.domain.com 在 domain.com [主 UI] 上动态加载它?
sub2.domain.com 提供的另一个组件(例如 ProductsFrontEndComponent)也是如此。
非常感谢您!