跳到主要内容

qiankun

qiankun 是一个基于 single-spa 的微前端实现库,旨在帮助大家能更简单、无痛的构建一个生产可用微前端架构系统。

核心设计理念

  • 🥄 简单
    由于主应用微应用都能做到技术栈无关,qiankun 对于用户而言只是一个类似 jQuery 的库,你需要调用几个 qiankun 的 API 即可完成应用的微前端改造。同时由于 qiankun 的 HTML entry 及沙箱的设计,使得微应用的接入像使用 iframe 一样简单。

  • 🍡 解耦/技术栈无关
    微前端的核心目标是将巨石应用拆解成若干可以自治的松耦合微应用,而 qiankun 的诸多设计均是秉持这一原则,如 HTML entry、沙箱、应用间通信等。这样才能确保微应用真正具备 独立开发、独立运行 的能力。

实现原理

  • single-spa:进行应用加载
  • import-html-entry:针对子应用的html进行解析获取所需资源
  • JS沙箱:子应用运行在 快照沙箱、Proxy沙箱

single-spa

JS沙箱

样式隔离

参考资料

https://github.com/umijs/qiankun