- 上下文隔离:提供了浏览器原生的硬隔离方案,不论是样式(CSS)隔离、JS隔离这类问题统统都能被完美解决。但他的最大问题也在于他的隔离性无法被突破,导致应用间上下文无法被共享,随之带来的开发体验、产品体验的问题。
- 前进后退:前进和后退按钮无法使用。刷新之后iframe url状态丢失。
- 跨域问题:由于安全策略的限制,iframe之间的跨域通信可能受到限制。 因此采用微前端的手段实现子应用的拆分和集成。 微前端
- 与技术栈无关,子应用可自主选择技术栈。
- 各个团队之间仓库独立,单独部署,互不依赖。
- 增量升级:当一个应用庞大之后,技术升级或者重构相当麻烦,而微应用具备渐进式升级的特性
- 独立运行时:微应用之间运行时互不依赖,有独立的状态管理。
监听hash路由:
window.onhashchange,监听history路由:history.go、history.back、history.forward使用window.onopostate监听。