实现微前端有哪些方案

原文地址:https://www.imooc.com/article/304768

单纯根据对概念的理解,很容易想到实现微前端的重要思想就是将应用进行拆解和整合,通常是一个父应用加上一些子应用,那么使用类似Nginx配置不同应用的转发,或是采用iframe来将多个应用整合到一起等等这些其实都属于微前端的实现方案,他们之间的对比如下图:

方案 描述 优点 缺点
Nginx路由转发 通过Nginx配置反向代理来实现不同路径映射到不同应用,例如www.abc.com/app1对应app1,www.abc.com/app2对应app2,这种方案本身并不属于前端层面的改造,更多的是运维的配置。 简单,快速,易配置 在切换应用时会触发浏览器刷新,影响体验
iframe嵌套 父应用单独是一个页面,每个子应用嵌套一个iframe,父子通信可采用postMessage或者contentWindow方式 实现简单,子应用之间自带沙箱,天然隔离,互不影响 iframe的样式显示、兼容性等都具有局限性;太过简单而显得low
Web Components 每个子应用需要采用纯Web Components技术编写组件,是一套全新的开发模式 每个子应用拥有独立的script和css,也可单独部署 对于历史系统改造成本高,子应用通信较为复杂易踩坑
组合式应用路由分发 每个子应用独立构建和部署,运行时由父应用来进行路由管理,应用加载,启动,卸载,以及通信机制 纯前端改造,体验良好,可无感知切换,子应用相互隔离 需要设计和开发,由于父子应用处于同一页面运行,需要解决子应用的样式冲突,变量对象污染,通信机制等

猜你喜欢

转载自blog.csdn.net/weixin_40918145/article/details/111377470
今日推荐