用 iframe 做微前端有什么优缺点?
优点(隔离最彻底):
- 浏览器原生隔离:JS 沙箱、样式隔离、DOM 隔离天然成立,几乎零冲突
- 独立部署、独立运行,技术栈完全无关
缺点:
- 通信麻烦:父子/子子间靠
postMessage,类型不安全、调试难 - 体验割裂:iframe 有独立滚动条、弹窗无法跨域溢出、路由/浏览器前进后退不同步
- 性能:每个 iframe 是独立文档,内存/加载开销大
- SEO/可访问性差
适用:集成第三方/遗留系统(只求隔离、不求深度融合)。追求融合体验的产品级微前端多用 qiankun/Module Federation。