IDC

微型前端:是什么,为什么,以及怎么搞?

作者:admin 2021-04-27 我要评论

在我之前的文章中(本文末尾的链接),我展示了有关微前端的动手以及如何创建它们。在本文中,我将恢复退步并解释什么是微型前端,为什么我们需要使用它们和不同的...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

在我之前的文章中(本文末尾的链接),我展示了有关微前端的动手以及如何创建它们。在本文中,我将恢复退步并解释什么是微型前端,为什么我们需要使用它们和不同的方式来实现它们。这请帮助我为我公司提供建议的建议,我希望它能让读者有益于为您的项目提供合适的架构选择。

什么是微前端

Martin Fowler将微前端架构定义为“一种独立可交付前端应用程序被组成的建筑风格”。简单地,微前端是网页的一部分(不是整页)。在微前端架构中,有一个“主机”或“容器”页面,可以托管一个或多个微前端。主机/容器页面还可以共享一些自己的微前端组件。

例如,正如我们在先前的文章中实现的那样,我们将按钮组件从MFE1页面暴露到MFE2(主机/容器)中

微型前端:是什么,为什么,以及怎么搞?

或者在

http://mfe1.s3-website-us-east-a.amazonaws.com/在本文中部署到S3

微型前端:是什么,为什么,以及怎么搞?

微型前端架构由3个主要组件组成:

  • 微前端(在上一个示例中,MFE1的按钮是微前端)
  • 主机/容器(在前面的示例中,MFE2是主机)
  • 微型框架:我们使用了WebPack 5模块联合插件

为什么微型前端?

引入了微前端架构以解决当前SPA前端开发的多个问题。我经历了单个网站的增长,以至于它变得非常难以扩大,修改甚至培训新工程师成为其中的一部分。通过这种单片系统,开发人员将彼此封锁,以应用一个小变化。以下是微型前端的一些好处:

  • 团队可扩展性:多个团队可以独立工作以贡献多个系统。这使我们能够将工作划分并通过多个团队缩放。
  • 单一责任:这将允许每个团队构建单一责任的组件。托管团队可以专注于分析,性能和每个功能团队可以专注于客户。两支球队可以在其特定领域获得100%。主页团队可以在创建大型主页上关注100%。每个微型前端团队将焦点100%的微观前端的功能。
  • 可重用性:我们将能够在多个地方使用代码。将构建和部署一个组件,不同的团队可以重新使用它。
  • 技术不可知论:微型前端架构独立于技术。您可以使用来自不同技术的组件(JavaScript,React,Vue,Angular …)。您不必担心部署或构建它们。
  • 学习曲线:对于加入团队的新工程师,更容易学习较小的应用程序,而不是了解具有数千行代码线的巨石。

如何实施微型前端?

微前端的主要是主机/容器和微前端之间的集成。有三种方法可以整合微型前端

构建时集成

这是今天实施的大部分代码。容器将将组件安装为库,类似于您从NPM安装的库。此方法的问题正在同步图书馆的不同版本和构建问题。此外,很难使用不同的技术。此外,最终包的大小将很大,因为它包含所有依赖项。此外,您必须再次部署依赖性的任何更改。而且,容器和所有微前端之间存在紧密的耦合。

运行时集成

这是我在以前的文章中解释的。在这种情况下,容器是单独构建和部署的。每个微前端都可以作为单独的包装作为一个单独的包装,即容器/主机可以获取所需的微前端。有关此方法的更多解释,请参阅本文末尾的文章列表。在这种情况下,容器和微前端完全取耦合。它们不共享构建或部署,并可以使用不同的技术。容器可以决定要部署的微前端版本。

服务器端集成

在这种情况下,所有功能都将在确定要加载的微前端的后端中。服务器将决定将该请求路由到的URL。这是一个标准的服务器端构图。


本文转载自网络,原文链接:https://www.toutiao.com/i6939335830960079399/

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 微型前端:是什么,为什么,以及怎么搞

    微型前端:是什么,为什么,以及怎么搞

  • 奇怪的知识点:用代码run代码

    奇怪的知识点:用代码run代码

  • Rust重写Gug工具链

    Rust重写Gug工具链

  • 2020年第四季度云基础设施支出将近400

    2020年第四季度云基础设施支出将近400

腾讯云代理商
海外云服务器