首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角度跨域动态组件加载器

角度跨域动态组件加载器
EN

Stack Overflow用户
提问于 2021-03-01 19:27:09
回答 1查看 155关注 0票数 0

我正在使用Angular研究微前端的可能性。我正在研究让UI的不同部分由它们自己的HTTP服务器进程独立提供服务,但在主UI上动态组合的可行性;主UI只是一个UI模板,其中的占位符将被这些动态加载的Micro-Frontend替换。

目前我们正在使用iframe,除了客户端浏览器所需的额外资源外,它工作得很好,当然也不是那么动态和有限的方法。

我的问题是,是否有可能在一个Angular App中实现一个共享的和众所周知的组件接口,从另一个URL动态加载;在我们的例子中是子域?

例如,我们有以下域:

domain.com

sub1.domain.com

sub2.domain.com

我们可以从sub1.domain.com获得以下组件:

代码语言:javascript
复制
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() {
  }
}

是否可以将其动态加载到domain.com上

主UI

从sub1.domain.com?

另一个组件也是如此,比如sub2.domain.com提供的ProductsFrontEndComponent。

非常感谢修道院!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-01 23:26:44

当涉及到Angular时-我已经看到了几种不同的方式,每种方式都有自己不同的陷阱,我个人不喜欢这两种选择,因为一个原因-它们使开发和/或部署变得更加复杂,而不是简化它。对我来说,它违背了微前端的目的。

如果你有“足够好”的东西,我会坚持到

Webpack模块联盟

被擦亮了。简而言之,模块联合允许轻松引用在编译时未知的模块,这应该可以很好地涵盖您的情况。

下面是关于这个主题的一堆资源(包括示例,包括Angular ):

https://medium.com/swlh/webpack-5-module-federation-a-game-changer-to-javascript-architecture-bcdd30e02669

https://github.com/module-federation/module-federation-examples

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66421271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档