微前端框架single-spa
-
微前端架构具备以下几个价值技术栈无关:运行在微前端架构下的各个应用所使用的技术栈,完全自主。独立开发、独立部署:各个应用有独立的开发环境及部署流程。独立运行:各个应用可以独立运行,也可以与其他应用一起运行。借助微前端和微服务技术架构,敏捷的管理方式,开发团队可以更加专注于功能的渐进交付。
最近入职的一家公司采用single-spa这个微前端框架,所以自学了此框架。微前端的灵感来源于服务端微服务的理念。single-spa是一个很好的微前端基础框架,qiankun框架就是基于single-spa来实现的,在single-spa的基础上做了一层封装,也解决了single-spa的一些缺陷。
因为single-spa是一个基础的微前端框架,了解了它的实现原理,再去看其它的微前端框架,就会非常容易了。
可以简单理解为,在开发一个复杂前端应用时,将其划分为一系列更小更简单的前端应用。这些前端应用可以单独开发、测试、部署,松耦合,可维护性强,还可以让前端代码实现增量升级和使用不同的框架。single-spa是一个比较流行的微前端框架,它并不是使用iframe来实现微前端,也不是通过模块联合,而是通过路由路径来在dom上加载不同的子应用。
single-spa框架中,基座会检测浏览器url的变化,在变化时往往通过SystemJS的import映射,来加载不同的子应用js。但是需要注意,single-spa并不是必须依赖SystemJS。刚刚我们提到了一个概念:基座,现在讲下single-spa的两个概念:基座和应用。我们可以简单理解应用是一个个的单页面应用,而基座是一个应用管理器,用来根据路由加载不同的应用。
当然不可能,single-spa的生态可是很好的。single-spa-react就是一个辅助库,它可以帮助React应用程序实现single-spa 需要的生命周期函数(bootstrap、mount 和 unmount)。
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏