vite-plugin-qiankun 使用教程
2026-01-16 09:38:00作者:咎竹峻Karen
项目介绍
vite-plugin-qiankun 是一个用于在微前端中集成 qiankun 的 Vite 插件。Qiankun 是一个在同一页面中同时运行多个子应用的微前端解决方案,它可以让我们将一个大型应用拆分成多个小型的子应用,每个子应用可以独立开发、独立部署、独立升级,实现了应用的解耦和团队协作的目的。
vite-plugin-qiankun 实现了自动化分包、公共依赖、沙箱隔离等核心功能。它可以根据配置将子应用的代码自动分割至子应用的独立 chunk 中,同时打包出一个公共依赖的 chunk,并在提前预加载时只加载一次,减少了流量和加载时间。另外,它还为每个子应用生成了一个独立的沙箱,在同一页面中渲染多个子应用时不会相互影响,保证了应用的稳定性和可靠性。
项目快速启动
安装
使用 npm 安装 vite-plugin-qiankun:
npm install @sh-winter/vite-plugin-qiankun --save-dev
配置
在 vite.config.ts 中注册插件:
import { defineConfig } from 'vite';
import qiankun from '@sh-winter/vite-plugin-qiankun';
import { name as packageName } from './package.json';
export default defineConfig({
base: `/${packageName}/`,
plugins: [
qiankun(packageName)
]
});
子应用导出
在子应用中导出生命周期函数:
export async function bootstrap() {
console.log('react app bootstraped');
}
export async function mount(props) {
console.log('props from main framework', props);
ReactDOM.render(<App />, document.getElementById('react15Root'));
}
export async function unmount(props) {
const { container } = props;
ReactDOM.unmountComponentAtNode(container ? container.querySelector('#react15Root') : document.getElementById('react15Root'));
}
应用案例和最佳实践
案例一:Vue3 + Vite + Qiankun
在一个项目中管理多个 Vue3 子应用,每个子应用独立开发和部署。
案例二:React + Vite + Qiankun
在一个项目中管理多个 React 子应用,每个子应用独立开发和部署。
最佳实践
- 独立开发和部署:每个子应用应独立开发和部署,确保团队协作的高效性。
- 公共依赖管理:合理管理公共依赖,减少重复加载,提升性能。
- 沙箱隔离:确保每个子应用的沙箱隔离,避免相互影响。
典型生态项目
1. Qiankun
Qiankun 是一个基于 Single-SPA 的微前端框架,支持多种前端框架的集成。
2. Vite
Vite 是一个基于 ES 模块的构建工具,提供了快速的开发体验和高效的构建速度。
3. Vue3
Vue3 是一个流行的前端框架,提供了响应式数据绑定和组件化开发的能力。
4. React
React 是一个用于构建用户界面的 JavaScript 库,提供了高效的虚拟 DOM 和组件化开发的能力。
通过结合这些生态项目,可以构建出高效、稳定、可扩展的微前端应用。
登录后查看全文
热门项目推荐
相关项目推荐
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00- QQwen3-Coder-Next2026年2月4日,正式发布的Qwen3-Coder-Next,一款专为编码智能体和本地开发场景设计的开源语言模型。Python00
xw-cli实现国产算力大模型零门槛部署,一键跑通 Qwen、GLM-4.7、Minimax-2.1、DeepSeek-OCR 等模型Go06
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
Baichuan-M3-235BBaichuan-M3 是百川智能推出的新一代医疗增强型大型语言模型,是继 Baichuan-M2 之后的又一重要里程碑。Python00
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00
项目优选
收起
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
539
3.76 K
Ascend Extension for PyTorch
Python
345
412
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
888
605
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
337
182
暂无简介
Dart
777
192
deepin linux kernel
C
27
11
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.34 K
758
React Native鸿蒙化仓库
JavaScript
303
356
openJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力
TSX
987
252
仓颉编译器源码及 cjdb 调试工具。
C++
154
896