方便的微前端框架?



哪个是微前端开发的最佳方法/框架?

我有超过 5 个基于 angular、react 和 vue 的应用程序,并希望在单个 UI 上显示所有 5 个应用程序。 我们有许多微前端框架,如单spa,piral,moisaic项目,Podium等等。现已上市。需要一个清晰的图片,帮助我使用任何框架实现它。

这一切都取决于。

显然,我偏向于Piral,但是为了使Piral高效,您需要检查以下一些要点(越多越好(:

  • [ ] 您需要一个应用程序外壳(出于技术原因,例如,提供共享依赖项和/或其他原因,例如共享/集中管理的设计(
  • [ ] 你对 React 有明显的倾向(即,你有很多不同的框架,但你的大多数应用程序都是用 React 编写的(
  • [ ] 您需要在组件中包含组件(例如,微前端 A 中的组件应该在微前端 B 的页面中使用(
  • [ ] 您的应用程序是"动态的"/具有类似"工具"(或应用程序(的字符;no-JS 不是必需的
  • [ ] 您希望动态启用/禁用模块(例如,某些用户应该只看到微前端 A,而不是 B(
  • [ ] 您希望拥有丰富的工具支持,例如,在搭建新模块的脚手架时 - 并且 TypeScript 支持也应该是一流的
  • [ ] 延迟加载(不仅是完整的微前端,还有页面等单个组件(应该是可能的
  • [ ] 通过不同模块进行的通信从来都不是直接的,而是始终间接的(即,如果微前端 A 存在,但微前端 B 不存在,您的系统永远不会中断(

你提到的其他人也有类似的列表。

希望对您有所帮助!

我认为Web组件可以在您的情况下提供帮助。您将 react/angluar/vue/任何内容封装在自定义元素中,并使用属性和事件相互通信

但要小心,并非所有框架都能很好地与自定义元素配合使用 - https://custom-elements-everywhere.com/

我相信
  1. Web组件(自定义元素(可以拯救您。
  2. 自定义的内置元素继承自基本 HTML 元素,这些元素能够独立运行
  3. 将任何javascript框架捆绑到单个捆绑的JS文件中,并将其包装在自定义元素中(其框架独立(
  4. 使用自定义事件在 MFE 之间共享数据

你可以在这里找到一个很好的例子——https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements

首先,让我们弄清楚为什么要使用微前端?

  • 当前前端中的复杂业务逻辑?
  • 分布式团队?
  • 重构您的旧系统?
  • 还有其他原因吗?

我们将使用微型前端,因为我们有分布式系统,并希望在客户需要使用不同的Web服务进行日常工作时为他们提供一致的体验。

我们正在使用 React 来构建我们的微前端服务,因为很容易管理那些遵循我们的材料设计的组件,必须有一些团队或某人来做和维护整体架构,如样式、通用组件和实践。

有关详细信息,我们主要关注这篇很棒的文章

我们仍在取得进展,希望对此进行更多讨论。

最新更新