目前微前端的概念已经火了一段时间了,社区也有相对来说比较出名的解决方案,如single-spa
、qiankun
等。但是关于本篇文章将抛开框架来谈一下对于微前端的思考。
微前端的优点
微前端为什么能火,当然有其优点,比较突出的主要有以下几点:
- 技术栈无关(很多项目由于历史包袱等原因可能技术栈比较老)
- 独立开发、独立部署(一些大型的项目,动辄几十上百个页面,每次开发跑起来都要很久,同时也可能存在node内存不足的问题。同时,独立的环境能比较业务模块间的互相影响)
- 各业务模块独立,便于升级和重构等
微前端的难点
微前端有其特点,但是其在技术实现上也有一定的技术难点。我在内部自研的微前端解决方案实现的过程中也遇到了一些相关的问题。
路由切换
微前端给用户感知其实仍然是接近于单页面应用的,微前端的路由仍然可以采用单页面应用的路由导航方案,这一点相对来说比较容易解决。
大部分的前端单页面路由都是通过hash
或者history
来实现,微前端也不例外,也需要通过这种方式来实现路由的切换。
我在实现自己的解决方案时直接借用了vue-router
的能力,有兴趣的也可以直接看一下相关的框架的路由实现或去了解一下浏览器的history api