手写 qiankun 微前端框架_哔哩哔哩_bilibili
多人协同开发,解决巨石应用。
把庞大应用分块处理,划分为多个子应用,子应用技术栈无关,独立部署。多个子应用聚合在一起,看起来就是一个完整的应用,用户无感知。
在开发层面来说,不限制技术栈,可以多团队采用不同的技术栈开发,也适合进行渐进式重构升级。
规则匹配 ⇒ 获取资源 ⇒ 渲染到容器
// 注册子应用,微前端运行原理和 SPA单页应用非常相似,SPA注册路由与注册子应用概念类似。
registerMicroApps([
// 当匹配到 activeRule 的时候,请求获取 entry 资源,渲染到 container 中
{
name: 'app-react',
entry: '//localhost:9001' // 子应用的 HTML 入口
container: '#subapp-container', // 渲染到哪里
activeRule: '/subapp/app-react' // 路由匹配规则
}
]
)
主子应用有不同的接入口
导出三个必要的生命周期钩子函数
bootstrap
渲染之前,做一些初始化mount
渲染函数, 一般挂载到 子应用入口 => #app 节点上unmount
卸载函数,清理工作;注意:生命周期函数必须返回 Promise