- 微前端(Micro-Frontends):将web应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。各个前端应用还可以独立运行、独立开发、独立部署。微前端不是单纯的前端框架或者工具,而是一套架构体系。
- 为什么会有微前端: 拆分和细化,整合历史系统
拆分和细化: 随着功能的丰富,单页应用变的越来越庞大复杂,改一处而动全身,由此带来的发版成本越来越高。微前端可以将这些应用拆分,并随之解耦,让每个部分可以单独维护和部署,提升效率。
整合历史系统: 有些业务中的历史项目需要结合到新框架中使用还不能抛弃,而公司也不会浪费时间去重构。为了解决这个问题,可以使用微前端。微前端可以将这些系统进行整合,以兼容新老两套系统并行运行。
3.实现微前端的方案
组合式应用路由分发方案 改造成本中等并且能满足大部分需求,是业界普遍采用的一种方案。
- 组合式应用路由分发方案
方案核心: 主从思想,即包括一个基座应用(MainApp)和若干个微应用(MicroApp)。
基座应用多是一个前端SPA应用,主要负责应用注册、路由映射、消息下发等;微应用是独立前端项目,这些项目不限于采用React,Vue,Angular或者JQuery开发。每个微应用注册到基座应用中,由基座进行管理,但是如果脱离基座也是可以单独访问,基本流程如下