据我所知,使用微型前端时有两种流行的情况-
1)包含组件的页面(每个组件都有自己的服务) 2)可通过仪表板/导航栏访问多个页面(每个部分都在其自己的服务上)
我已经研究了一段时间,从我可以看出情况1的使用Angular自定义元素时非常简单。
问题是我需要解决案例2。 通过设计,我得到了一个仪表板(页面侧面的导航栏),其中包含针对不同组件入口点(报告,用户等)的路由列表。
我希望这部分是容器,并且容器导航条上的每条路线都通向一个单独的微型前端,该前端可以单独存在,也可以作为容器的一部分。 因此,当我构建完整的网站时,我将拥有例如reportService,userService等...以及主/容器服务。
我在弄清楚实现该目标的最佳方法时遇到了麻烦,我看过各种各样的文章,但仍然看不到一条清晰的路(准备好产品等...)
是否有任何流行且易于使用的方法?
编辑:例如,这个想法是-能够使两个团队分别在站点的单独部分(单独的上下文)工作,而不会互相影响。两者都具有站点的独立部分,并且可以在部署时将更改添加到主站点。这两个子站点之间的连接最少(如果有的话),它们可以单独运行,也可以在容器内部运行。
我在文章中添加了链接,该文章解释了我的问题,并且做得比我做的要好得多 https://martinfowler.com/articles/micro-frontends.html
答案 0 :(得分:0)
我在项目中遵循了这种方法,希望对您有帮助
可从仪表板/导航栏访问多个页面(每个部分均在其自己的服务中)
我们基于-UserModule,ReportsModule,InitialModule等功能创建了多个模块,以便我们可以根据路由延迟加载不同的模块。
每个模块将具有其模块所需的自己的服务,组件,类和资产。例如,InitialModule仅具有与Login和Dashboard相关的组件,我们在bootstrap
中将其设置为main.ts
模块,以便通过下载js,CSS和HTML来快速加载页面。仅这两个组成部分才需要,而不是所有资产
答案 1 :(得分:0)
目前,我正在开发一个与您要求的项目相似的项目。我当前的方法是使用库single-spa来组织和导入不同的微前端。我目前有一个导航栏,它是一个始终显示的角度应用程序,并使用角度路由在加载到导航下方的其他应用程序之间进行切换。您可以开始here。