微前端-理论

微前端

What

  • 微前端就是将不同的功能按照不同的维度拆分成多个子应用,通过主应用来加载这些子应用;
  • 微前端的核心在于,拆完后再

Why

  • 传统项目随着业务发展,变得庞大之后,编译打包速度变慢;
  • 分割出来的独立业务模块,无法团队独立开发,独立部署;
  • 多个团队,多种技术栈如何整合?
  • 项目中老的应用代码仍需要使用
    可以将一个应用拆分成多个子应用,将子应用打包成一个个的lib。当路径切换时加载不同的子应用。这样每个子应用都是独立的,技术栈也不用做限制了,也解决了独立部署协同合作的开发等问题

How

compare
  • 2018年 Single-SPA 诞生了,single-spa 是一个用于前端微服务化的JavaScript前端解决方案(本身没有处理样式隔离,js执行隔离)实现了路由劫持和应用加载
  • 2019年 qiankun 基于 single-spa 提供了更加开箱即用的 API(single-spa + sandbox + import-html-entry)做到了,技术栈无关、并且接入简单(像 iframe 一样简单)
    子应用可以独立构建,运行时动态加载。主子应用完全解耦,技术栈无关,靠的是协议接入(子应用必须导出bootstrap、mount、unmount方法)
iframe
  • iframe中的子应用切换路由时,用户刷新页面就尴尬了,整个页面状态就丢失了?qinkun的刷新页面,状态不会丢失?
  • 为什么不iframe
应用通信
  • URL传参
  • 基于CustomeEvent
  • 基于props主子应用通信
  • 使用全局变量(window上挂载等)、Redux 进行通信
公共依赖
  • CDN -externals
  • webpack 联邦模式?
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容