# 微前端
微前端架构是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将 Web 应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。
微前端主要解决以下问题
- 后台比较分散,体验差别大,因为要频繁跳转导致操作效率低,希望能统一收口的一个系统内
- 单页面应用非常庞大,多人协作成本高,开发/构建时间长,依赖升级回归成本高
- 系统有二方/三方接入的需求
总结:后端解耦,前端聚合
目前微前端的主流做法是,搭建一个公用的平台,通过平台来引用独立子应用,好处主要是子应用完全独立;由于样式和脚本隔离问题,iframe 或者规范约束成为目前主要选择;选择规范,第三方应用无法规范;选择 iframe 通信将会成为问题
# 问题分析
- 技术栈问题:作为一个团队我们可以保证技术栈的统一,技术栈的统一减少开发成本、也有利于规范,快速解决问题
- 多人协作问题:通过 router、nav、permission 服务将每个页面独立在一个文件夹内,文件夹内拥有自己的完整配置,包括权限、菜单、路由等等;保证页面之间不出现耦合,这样能减少系统性 BUG,同时方便页面迁移与复用
- 多个后台出现微前端问题时,我们通过 iframe 服务引用第三方系统;
- 微前端解决的问题应该成为云前端的一个子服务而已