qiankun 微前端架构详解
什么是微前端:微前端项目,简单来说,就是把那些可以独立开发、独立测试、独立部署的子项目,统一集成到一个主项目之下。对用户而言,最终看到的仍然是一个完整的产品;而背后的加载、拼接与渲染过程,则是完全透明、无感的。微前端不仅能够兼容不同的开发环境,还可以兼容多种技术栈,从而在更大程度上实现应用解耦,提升
什么是微前端:

微前端项目,简单来说,就是把那些可以独立开发、独立测试、独立部署的子项目,统一集成到一个主项目之下。对用户而言,最终看到的仍然是一个完整的产品;而背后的加载、拼接与渲染过程,则是完全透明、无感的。
微前端不仅能够兼容不同的开发环境,还可以兼容多种技术栈,从而在更大程度上实现应用解耦,提升项目的可维护性与扩展性。
spa网页
[image.png]
微前端网页
[image.png]
为什么需要微前端:
- 当前应用规模较大,需要拆分为多个独立模块进行开发
- 多个业务团队协作,要求能够并行开发同一个项目
- 中台类、平台类的聚合型项目需要统一管理多个子系统
- 同一个主应用下需要兼容不同架构的项目,例如 Vue、React、Angular 等
微前端的特点:
- 几乎任何 JS 框架都可以兼容接入,使用门槛较低,接入方式简单。
- 解决了 iframe 在主页面刷新后,子页面路由状态难以控制的问题。
- 能够更好地处理主应用与子应用之间的通信与数据交互问题。
为什么不是iframe
- iframe 通过 src 嵌入,当子页面发生路由跳转后,主页面再次刷新时,往往会回到初始位置。
- 内嵌页与主页面的通信存在限制,通过 postMessage 或 url 传参时,url 传参本身也不够安全。
- 内嵌页之间的通信与状态共享也比较困难。
- DOM 结构无法共享,如果需要在子页面弹出遮罩层或 loading,主页面很难做出联动响应。
qiankun微前端,微前端的落地实现
qiankun的特点:
- 基于 single-spa 封装,提供了更加开箱即用的 API。import { registerMicroApps, start } from 'qiankun';registerMicroApps( { name: 'vueApp', // app的name,需要与微应用打包对应 entry: '//localhost:8081', // 微应用的端口,同时微应用需要启动 container: '#app2, activeRule: '/mydemo', // 如果是 hash模式 需要 #/mydemo });
// 启动 qiankun
调用 start(); 之后,如果主应用的路由地址是 http://localhost:8080,那么当访问 http://localhost:8080/mydemo 时,对应的微应用就会被拉起并渲染。
- 技术栈无关,任意技术栈的应用均可 使用/接入,不论是 React、Vue、Angular、JQuery 还是其他框架。
- HTML Entry 接入方式,让微应用接入体验像使用 iframe 一样简单。
- 样式隔离,确保不同微应用之间的样式互不干扰。
- JS 沙箱机制,保证微应用之间的全局变量和事件不会冲突。
- 资源预加载,会在浏览器空闲时间提前加载未打开的微应用资源,从而提升打开速度。
配置参考https://qiankun.umijs.org/
配置项细节和踩坑
微应用需要启动
微应用需要独立启动,并且配置的端口要与主应用注册时填写的微应用端口保持一致。
主应用
[yi2phmv72c.png]
entry端口需要与微应用一致,同时微应用需要运行
微应用的路由以及路由跳转
假设 是两个 vue的应用
主应用
[image.png]
错误情况:当子页面路由没有添加前缀(activeRule)
{
path: '/',
name: 'Home',
component: Home
}显示效果
[image.png]
正确情况
{
path: '/subvue/',
name: 'Home',
component: Home
}path为 微应用的激活规则
[image.png]
正确的路由跳转
[image.png]
子应用的跳转需要加入前缀!!
history模式下设置路由更方便
微应用渲染时 在base上设置微应用的范围
router = new VueRouter({
base: window.__POWERED_BY_QIANKUN__ ? '/subvue/' : '/',
mode: 'history',
routes
})此时,所有的子路由内跳转都会自动加上 /subvue/,因此 routers 内就不需要手动再添加前缀。
[image.png]
hash模式下,打包发布正式需要处理的更少!!
[image.png]
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
CSS3入门指南:常用特性解析与实战练习路径
CSS3是现代网页开发的核心技术,涵盖圆角、阴影、渐变、过渡、动画及响应式布局等高频特性。本文梳理了CSS3的核心应用场景、分步学习路径与综合练习案例,帮助初学者快速建立从基础排版到现代交互的完整开发思路,并规避常见样式陷阱。
CSS border 边框属性详解:语法、拆分写法与常见问题排查
本文系统讲解CSS标准边框属性border的完整语法结构,涵盖简写与拆分写法、单边控制技巧及border-radius配合方案。针对边框不显示、元素尺寸异常等高频问题提供排查路径,帮助开发者快速掌握边框设置规范并提升界面视觉一致性。
CSS3动画属性有哪些:常用属性与用法说明
CSS3动画主要分为transition过渡与animation关键帧两类。本文梳理常用属性、简写语法与@keyframes规则,结合悬停、入场、循环等场景给出代码示例与选型建议,帮助开发者快速写出流畅且可控的动画效果。
CSS3渐变色语法与常见用法
CSS3渐变色通过纯代码生成平滑颜色过渡,广泛用于按钮、横幅与卡片背景。本文系统梳理线性与径向渐变的核心语法、方向控制、停靠点设置及多层叠加技巧,提供可直接复用的场景代码,并给出兼容性策略与常见渲染异常排查方法,帮助开发者快速构建稳定、可维护的渐变样式。
CSS3手册中文版下载指南:获取渠道、筛选标准与使用建议
寻找CSS3手册中文版下载资源时,如何判断来源可靠性、筛选高质量内容并有效使用?本文从获取渠道、版本识别、下载验收到替代方案,提供一套可执行的判断标准,帮助你快速找到适合学习或查阅的中文手册。
- 热门数据榜
相关攻略
2026-09-01 06:33
2026-09-01 06:33
2026-09-01 06:32
2026-09-01 06:31
2026-09-01 06:30
2026-09-01 06:30
2026-09-01 06:29
2026-09-01 06:29
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

