qiankun 的实现原理是怎样的?
qiankun 是阿里开源、基于 single-spa 的微前端方案,采用「主应用(基座)+ 子应用」模式:
- 注册子应用:主应用用
registerMicroApps声明子应用的入口(HTML entry 或 JS entry)、激活路由、挂载容器 - 路由劫持:监听 URL 变化,命中某子应用路由时加载它
- 资源加载:拉取子应用 HTML,解析出 JS/CSS,做 JS 沙箱 + 样式隔离后执行
- 生命周期:依次调用子应用的
bootstrap / mount / unmount
import { registerMicroApps, start } from 'qiankun'
registerMicroApps([
{ name: 'sub-vue', entry: '//localhost:7100', container: '#subapp', activeRule: '/vue' }
])
start()qiankun 的核心价值是帮我们处理了沙箱隔离、样式隔离、资源加载这些脏活。