在前端领域,微服务化实际上是将微服务架构应用于前端,每个微应用都是完全独立的,可以拥有自己的技术栈,独立进行开发、构建、部署和发布。最终,通过主应用,也称为基座,来整合成一个完整的应用。
前端微服务化本质上也依赖于基座应用,基座主要负责获取和绑定其他微应用,以及管理它们的生命周期和加载等。当然,基座中也可以选择性地放置一些业务代码,例如SaaS系统中的登录代码。如果登录逻辑不算是核心业务代码,那么将菜单页面、非业务性或业务区分不明显的页面,以及一些非独立业务但具有一定通用性的系统项目类页面放在基座中是合理的,这样可以让微应用专注于它们所属的业务领域。
需要注意的是,基座应用是否可以加入业务代码,这种区分的界定在一定程度上是基于技术架构的考量,而微应用的业务系统拆分则是纯粹的业务领域问题。
在设计基座能力时,我们通常需要关注微应用的注册、应用间数据传递、路由切换逻辑等方面。
如果你面对的是个性化需求较强的项目,可能需要进行一定程度的定制化开发。如果你的项目较为通用,那么Single-SPA是一个不错的选择。