视频:https://www.bilibili.com/video/BV1t84y1F71m?p=4

    背景 - 现在的NPM包抽取、复用的模式有自己的弊端:
    1、维护周期长
    2、多个系统要统一集体升级
    3、不同的人维护不同的组件,规范、代码风格不容易统一
    4、维护起来比较困难

    微前端是一种策略、一种模式、一种方法论、一中架构思维,不单单是一种技术!
    它借鉴了后端微服务的概念,就像是搭积木一样将多个可独立交付的页面、模块拼接整合到一个系统里。
    保证了系统的统一性、又支持多人协作的功能。

    微前端解决的问题:
    解决复杂、多技术混合等大型项目面临的如何更好的去迭代的问题,
    解决多个应用之间的资源共享
    跨技术栈

    应用场景:
    1、拆分巨型应用,提升系统可维护性
    2、维护历史应用,实现增量开发

    微前端的特点
    1、独立部署
    2、团队自治(项目分给不同的团队开发,最终结合。前两点有点像和商智共建)
    3、松耦合代码(都独立开发了,代码耦合就不高了)
    4、增量迁移(维护老项目的时候,新增功能可以逐步迁移到新技术)

    微前端的几种实现方案
    1、自由组织模式:自己搞、不依赖任何框架(使用:Systemjs模块化)注意约定代码、第三方依赖处理问题
    2、基座模式:容器应用框架(基座) + 配置化,实现多应用可插拔。(框架:Single-spa)(成熟方案——乾坤:基于single-spa)【目前应用最多】
    3、去中心模式:脱离基座、独立应用间共享模块,与基座模式有出入(使用:webpack5新增的“模块联邦” Module Federation)【未来可期,推荐】

    外链:
    SingleSpa:https://github.com/CanopyTax/single-spa
    乾坤:https://github.com/umijs/qiankun
    讲解文章:https://www.cnblogs.com/sexintercourse/p/14772762.html