什么是微前端架构?

本文概述了微前端以及如何将旧用户界面分解为 Angular微前端。

什么是微前端?

微前端是一种将微服务概念扩展到 Web 应用程序前端的架构方法。在微前端架构中,复杂的 Web 应用程序被分解为更小的、可独立部署和可维护的单元,称为微前端。每个微前端负责用户界面的特定部分及其相关功能。

微前端的主要特征和概念包括:

  • 独立性:微前端是独立的,独立开发、测试和部署。这种自主权允许不同的团队以最少的协调来处理应用程序的不同部分。

  • 技术不可知论:每个微前端都可以使用不同的前端技术(例如,Angular、React、Vue.js),只要它们可以集成到父应用程序或 Shell 应用程序中即可。

  • 隔离:微前端在代码和依赖关系方面都是相互隔离的。这种隔离可确保一个微前端的更改不会影响其他微前端。

  • 集成:容器或 Shell 应用程序负责集成和编排微前端。它提供用户界面的整体结构并处理微前端之间的路由。

  • 独立部署:微前端可以独立部署,持续交付,更新更快。这降低了回归问题的风险并加速了发布周期。

  • 松散耦合:微前端通过定义良好的 API 和共享协议(例如 HTTP)进行通信,从而允许它们松散耦合。这种关注点分离简化了开发和维护。

  • 用户界面组合:容器应用程序通过将微前端组合在一起来组装用户界面。这种组合可以在服务器端(服务器端包含)或客户端(客户端路由)上完成。

  • 扩展和性能:微前端支持应用程序特定部分的水平扩展,有助于优化频繁访问区域的性能。

  • 去中心化团队:不同的团队或开发小组可以在单独的微前端上工作。这种去中心化对于大型或分布式组织来说是有利的。

微前端架构在大型、复杂的 Web 应用程序中特别有用,其中单一方法可能会导致开发瓶颈、复杂性增加以及维护和扩展应用程序的困难。

通过使用微前端,组织可以在前端开发过程中实现更大的灵活性、敏捷性和可维护性,从而与软件架构领域微服务的更广泛趋势保持一致。

托管在单个 Shell UI 中的微前端

让我们看看如何将两个 Angular 微前端托管到单个 Shell UI 中。

single-spa要在单个 Shell Angular UI 中托管两个 Angular 微前端,您可以使用类似或 的微前端框架qiankun来实现此目的。这些框架使您能够将多个独立开发的微前端集成到单个应用程序 Shell 中。以下是如何设置此类架构的高级概述:

1. 创建 Shell Angular 应用程序

将 Shell Angular 应用程序设置为托管微前端的主容器。您可以使用 Angular CLI 或任何其他首选方法创建此应用程序。

2. 创建微前端

创建两个 Angular 微前端作为单独的 Angular 应用程序。每个微前端都应该有自己的路由和功能。

3. 为微前端配置路由

在每个微前端应用程序中,配置路由,以便每个微前端都有自己的一组路由。您可以为此使用 Angular 路由。

4.使用微前端框架

将微前端框架(例如single-spa或 )集成qiankun到您的 Shell Angular 应用程序中。

single-spa以下是如何在 Shell Angular 应用程序中使用的示例:

安装single-spa:

npm install single-spa

Shell Angular 应用程序代码

在您的 Shell Angular 应用程序中,配置single-spa以加载微前端。

import { registerApplication, start } from 'single-spa';

// 注册微前端
registerApplication({
  name: 'customer-app',
  app: () => System.import('customer-app'), // 加载 customer-app 
  activeWhen: (location) => location.pathname.startsWith('/customer-app'),
});

registerApplication({
  name: 'accounts-app',
  app: () => System.import('accounts-app'), // 加载accounts-app 
  activeWhen: (location) => location.pathname.startsWith('/accounts-app'),
});

// 启动single 
start();

5. 托管微前端

配置 Shell Angular 的路由以根据 URL 定向到相应的微前端。例如,当用户访问 时/customer-app,shell 应加载客户微前端,而对于/accounts-app,则加载帐户微前端。

6. 开发与构建

单独开发和构建您的微前端。每个都应该是一个独立的 Angular 应用程序。

7. 部署

将 Shell Angular 应用程序与微前端一起部署,确保可以从同一域访问它们。

通过此设置,您的 Shell Angular 应用程序将充当托管微前端的主容器,并且您可以在 Shell 路由内的微前端之间导航。这允许您拥有一个托管多个微前端的 Angular UI,每个微前端都有自己的功能。


文章来源地址https://www.toymoban.com/diary/system/559.html

到此这篇关于什么是微前端架构?的文章就介绍到这了,更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://www.toymoban.com/diary/system/559.html

如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用
什么是 JSON Web 密钥 (JWKS)?
上一篇 2023年11月25日 11:17
下一篇 2023年11月26日 00:25

相关文章

  • 什么是微前端架构?

    作为前端开发的新兴架构模式,微前端架构不仅可以提高开发效率、迭代速度和用户体验,还可以提高团队的协作效率和代码复用率,具有很高的业务价值。而与之相比,随着互联网应用的不断发展和迭代,传统的单体应用架构已经逐渐无法满足现代应用的需求。 微前端架构

    2023年04月09日
    浏览(51)
  • 【微前端】什么是微前端

    专栏: 【微前端】什么是微前端 【微前端】qiankun 【微前端】qiankun + vite + vue3 目录: 一、微前端是什么 二、微前端解决了什么问题 三、微前端的优缺点 四、微前端的解决方案 五、何时需要引入微前端 微前端(Micro Frontends)是一种前端架构模式,通过将单个应用程序分解

    2024年02月16日
    浏览(45)
  • 【微服务】什么是微服务?-- 全面了解微服务架构

      What is Microservices — Edureka 您有没有想过,什么是微服务以及扩展行业如何与它们集成,同时构建应用程序以满足客户的期望? 要了解什么是微服务,您必须了解如何将单体应用程序分解为独立打包和部署的小型微型应用程序。本文将让您清楚了解开发人员如何使用微服务

    2024年02月12日
    浏览(50)
  • 什么是微格式

    微格式是一种用于在HTML文档中嵌入语义化信息的简单而轻量级的标记语言。它们通过使用已有的HTML标签和类名来表示结构化数据,以便机器能够更容易地理解和处理这些数据。 微格式的目标是为了让信息更易于被自动化工具(如搜索引擎、数据聚合器、日历应用程序等)提

    2024年02月09日
    浏览(48)
  • 什么是微服务

    微服务的架构特征: 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责 自治:团队独立、技术独立、数据独立,独立部署和交付 面向服务:服务提供统一标准的接口,与语言和技术无关 隔离性强:服务调用做好隔离、容错、降级,避免出现

    2024年02月14日
    浏览(47)
  • 1.17 什么是微服务

    微服务(Microservices)是一种软件架构风格,将一个应用程序拆分为一组小型、独立且可独立部署的服务。每个服务专注于执行一个特定的业务功能,并通过轻量级的通信机制进行相互协作。 微服务架构具有以下特点: 服务拆分: 应用程序被拆分为一组小型的服务,每个服务

    2024年02月16日
    浏览(41)
  • 微服务治理:什么是微服务生命周期管理 (MLM)?

    微服务生命周期管理 (MLM) 指的是管理微服务整个生命周期的各种流程和工具,从其最初的设计和开发到最终的停用。它类似于软件开发生命周期 (SDLC),但专门针对微服务架构的独特需求进行定制。 以下分解了 MLM 中的关键阶段及其含义: 1. 设计和开发: 定义边界和 API: 明确

    2024年02月01日
    浏览(48)
  • 【从零开始学习微服务 | 第一篇】什么是微服务

    目录 前言: 架构风格:  单体架构: 分布式架构: 微服务: 总结:         在当今快速发展的软件开发领域,构建大型应用程序已经成为一项巨大的挑战。传统的单体应用架构往往难以满足快速变化的业务需求和不断增长的用户规模。这就引出了微服务架构:一种以服

    2024年01月25日
    浏览(54)
  • 什么是Vue的前端微服务架构(Micro Frontends)?

    前端微服务架构(Micro Frontends)是一种新型的前端架构风格,它借鉴了后端微服务架构的思想,将前端应用程序拆分为多个小型、独立的部分,每个部分都可以独立部署、独立开发和独立运行。这种架构风格可以帮助前端开发人员更好地管理复杂的前端应用程序,提高开发效

    2024年02月15日
    浏览(32)
  • 【前端架构】前端通用架构

    一个强大的前端通用架构应该具备多种能力,以支持现代化的应用程序开发和提高开发效率。以下是一些前端通用架构应该具备的关键能力: 模块化和组件化 :支持模块化开发和组件化架构,能够将应用拆分为独立的模块和组件,以便复用和维护。 状态管理 :提供有效的状

    2024年01月20日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包