微前端解决的三个核心问题: 1、解决异构前端网站的融合性问题,兼容多种前端框架和技术栈,新旧项目的融合为一个应用。 2、确保微前端应用之间全局变量、事件、样式资源等状态隔离,运行时状态不共享。 3、微前端应用之间的数据通信、数据状态与缓存管理,页面保活。方法一:使用iframe与自定义消息来传递;方法二:使用web Components, 通过主应用和微应用来通知 上面是微服务的定义,每个功能可以独立运行,也可以组合在一起来完成更复杂的业务功能。通常微服务讲的更多的是后台架构,微前端是微服务在前端中的一种实现方式。一个子应用可以有自己独立的仓库,独立构建、测试、上线,在运行时把这些功能组合在一起。多技术栈共存,当一个老项目运行着,此时又需要引进新技术,微前端就比较合适,如早年的 backbone 或者 vue2 等项目,当下要把 react + ts 引进来。 大型项目多团队负责,各团队可维护着自己的模块,比如大型控制台(如阿里云控制台、腾讯云控制台),各团队可以独立开发并上线,最后由统一的主应用来把各个团队做的功能组合在一起。 巨石应用,比如邮箱业务,除核心的邮件读
评论: 之前在部分业务中使用了无界,通过微前端框架来解决多业务、异构前端业务的融合性问题。早期项目中都是直接用 iframe 。需要另外开发一套postmessage 的通信机制,另外父级框架刷新后iframe内部的地址和状态丢失。[无界](https://github.com/Tencent/wujie/)是鹅厂中台开源项目是基于Web Components + iframe 来实现的微前端框架。主要包含的内容有:通信模块(父子、兄弟模块间通信),状态于依赖共享,应用嵌套模块,js/css沙箱,内嵌脚本,预加载逻辑,单页应用的tab机制等。这里可以留个位,后续做一个源码分析。 | 导语iframe是一个天然的微前端方案,但受限于跨域的严格限制而无法很好的应用,本文介绍一种基于iframe的全新微前端方案,继承iframe的优点,补足iframe的缺点,让iframe焕发新生。目录背景无界方案使用无界适配成本实现细节 实现一个纯净的 iframe &nb
首乌
十年老程序员
粤ICP备2023052298号-1