qiankun 的实现原理是怎样的?

qiankun 是阿里开源、基于 single-spa 的微前端方案,采用「主应用(基座)+ 子应用」模式:

  1. 注册子应用:主应用用 registerMicroApps 声明子应用的入口(HTML entry 或 JS entry)、激活路由、挂载容器
  2. 路由劫持:监听 URL 变化,命中某子应用路由时加载它
  3. 资源加载:拉取子应用 HTML,解析出 JS/CSS,做 JS 沙箱 + 样式隔离后执行
  4. 生命周期:依次调用子应用的 bootstrap / mount / unmount
import { registerMicroApps, start } from 'qiankun'
registerMicroApps([
  { name: 'sub-vue', entry: '//localhost:7100', container: '#subapp', activeRule: '/vue' }
])
start()

qiankun 的核心价值是帮我们处理了沙箱隔离、样式隔离、资源加载这些脏活。

同分类其他题目