从 0 开始实现一个「学院派」微前端方案

前言 2016 年 11 月,ThoughtWorks 在技术雷达(Technology Radar)中首次提出了微前端(Micro Frontends)的概念,将后端微服务化的思想引入前端。此后,在前端社区中,出现了很多优秀的开源解决方案,例如 SingleSPA、Qiankun、IceStark 等。 微前端的实施方式有很多种,具体可以参考 Phodal 的文章。关于这些实现方式和微前端诞生的意义、解决的业务痛点,在这里就不再赘述了。 本文将以一个在校大学生的视角,基于我在学校社团里为数不多的中后台开发实战经验,从 0 开始实现一个「学院派」微前端方案,抛砖引玉地提供我对于微前端技术落地的思考和思路。 设计思路和实现 从目前开源社区的现状来看,SingleSPA 是一个发展历史比较悠久的微前端解决方案,拥有完善的社区支持和维护力量。 SingleSPA 架构中有主应用和子应用两种角色,主应用作为应用的框架运行时环境,动态地配置子应用,通过监听全局路由事件完成子应用的加载、卸载以及其他生命周期的管理。在子应用被挂载完成后,路由便由被挂载的子应用接管。…