如何快速上手 vite-plugin-qiankun:面向新手的完整指南
如何快速上手 vite-plugin-qiankun面向新手的完整指南【免费下载链接】vite-plugin-qiankun保留vite es特性快速接入乾坤微前端子应用项目地址: https://gitcode.com/gh_mirrors/vi/vite-plugin-qiankunvite-plugin-qiankun 是一款 Vite 微前端插件让 Vite 构建的子应用快速接入 qiankun 微前端主应用同时保留 Vite 构建 ES 模块的优势。它会自动完成子应用分包预加载公共依赖并为每个子应用提供独立沙箱不需要你手工改造构建产物。适合手里已有 Vite 工程、想把它挂进现有 qiankun 架构的前端同学和团队。 先聊痛点为什么需要它项目小的时候一个大应用装下所有功能没问题。规模上来之后麻烦就来了仓库体积膨胀、构建越来越慢多个团队在同一个工程里并行开发分支互相打架一次发版牵动全站页面。微前端是社区给出的主流解法——把大应用拆成若干子应用同页渲染各自独立开发、独立部署、独立升级qiankun 就是其中使用最广泛的方案之一。但子应用如果用 Vite 来写会撞上一堵墙qiankun 加载子应用入口的方式最初是针对传统打包产物设计的而 Vite 产出的是原生 ES 模块两者对不上手动适配既繁琐又容易踩坑。vite-plugin-qiankun 要解决的就是这个 vite 集成 qiankun 的衔接问题配置一下插件入口加载、生命周期注册、资源路径这些适配工作它全做掉你已有的 Vite 配置基本不受影响。 三步跑起来第一步安装插件一条 npm 命令npm install sh-winter/vite-plugin-qiankun --save-dev以开发依赖安装子应用侧除它之外不需要引入额外运行时依赖。第二步1 分钟注册 vite.configimport { 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)], });两个关键点qiankun(packageName)传的是子应用名必须与 qiankun 主应用注册时使用的名字一致base指定部署路径生产环境不配它子应用资源会加载不到。第三步生命周期导出——三个函数分别在何时执行export async function bootstrap() { console.log(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) ); }三者的执行时机是固定的bootstrap 在子应用首次加载时执行一次mount 在每次进入页面时执行主应用下发的数据通过 props 传入unmount 在离开页面时做清理组件必须真正卸载否则 DOM 会残留。⚙️ 核心功能拆解自动分包打包后每个子应用一个独立 chunk你能得到什么构建之后子应用代码被自动拆成独立的 chunk不会和主应用或其他子应用搅在一起全程不用手写任何拆分规则。它怎么做到插件在构建阶段改写入口 HTML——把原本的模块脚本换成动态引入并自动注入生命周期注册代码让 qiankun 能把整个子应用作为一坨资源完整接管。打个比方这相当于每个子应用都是一个封好的快递箱主应用这个快递员整箱取走就行不用关心箱子里每件衣服该归谁。公共依赖预加载公共代码只拉一次你能得到什么像 React、Vue 这类多子应用都会用到的公共库被抽成一个公共 chunk主应用侧提前预加载一次之后每个子应用加载时直接复用总流量变少首屏变快。它怎么做到公共依赖被单独抽出成 chunk在子应用真正渲染前先行加载子应用运行时引用的是这份已经就绪的公共代码。就像厨房里的共享备菜台常用食材提前洗好切好各子应用做菜时直接拿谁也不用单独跑一趟菜市场。沙箱隔离同一页面多子应用互不干扰你能得到什么多个子应用同页渲染时各自运行在独立沙箱里全局变量和内部状态互不串扰一个子应用出问题不会连累别人稳定性有底。它怎么做到插件为每个子应用生成独立的沙箱环境子应用代码读写全局变量时落在沙箱上而不是真实 window 上影响范围天然被圈住。好比给每个子应用一间密封隔间——里面随便折腾隔壁的人完全不受打扰。实战示例Vue3 与 React 两类栈Vue3 Vite 子应用用 Vite 的 Vue3 模板创建子应用按上面的方式配好插件名和 base导出三个生命周期函数后在主应用侧按名字注册即可上线。Vue3 子应用支持独立开发、独立部署、独立发版同一主工程下挂多个 Vue3 子应用也互不影响。React Vite 子应用React 侧做法一致入口就是你熟悉的 ReactDOM 渲染逻辑mount 时把组件渲染到主应用传入的容器unmount 时对同一节点卸载、释放内存。仓库的example/目录里备好了主应用和 Vue3、React 等子应用示例装好依赖启动即可跑通完整链路方便对照调参。最佳实践与避坑独立开发、独立部署每个子应用独立仓库、独立 CI、独立发版主应用只按名字注册互不改代码公共依赖管理Vue、React 等公共库统一版本并汇入公共 chunk避免同一依赖加载多个版本沙箱隔离意识确需写全局变量时显式操作沙箱qiankunWindow不要直接污染真实 window否则会漏到其他子应用子应用名就是契约插件传的名字与主应用注册名必须一致生产环境 base 必填坑一开发环境下子应用加载模式与热更新插件冲突子应用调试模式时先关掉 HMR插件提供 useDevMode 开关独立调试时再打开坑二unmount 逻辑别漏不真正卸载组件的话DOM 残留会导致重复渲染和内存泄漏生态图谱Qiankun基于 Single-SPA 的微前端框架负责主应用侧对子应用的注册、调度与隔离Vite基于 ES 模块的构建工具给子应用提供秒级开发体验和高效率构建Vue3带响应式系统与组件模型的 UI 框架是众多团队编写子应用的首选React提供虚拟 DOM 与组件化开发的 UI 库同样适合用来写子应用vite-plugin-qiankun 就是 Vite 世界和 qiankun 生态之间的桥Vite 管快插件管入口与生命周期适配qiankun 管统一调度Vue3 和 React 写的子应用得以在同页并排落地、各司其职。一句话总结把 Vite 子应用接入 qiankun 主应用的成本就是安装、注册、导出生命周期这三步其余交给插件自动完成。建议的下一步先在现有工程里挑最小的一块拆成子应用按三步走流程跑通再对照example/目录的示例逐一校准 qiankun 子应用配置想深入原理时可以直接读src/下的核心实现。【免费下载链接】vite-plugin-qiankun保留vite es特性快速接入乾坤微前端子应用项目地址: https://gitcode.com/gh_mirrors/vi/vite-plugin-qiankun创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

BDSup2Sub 使用指南:位图字幕流之间的转换与调整工具

BDSup2Sub 使用指南:位图字幕流之间的转换与调整工具

BDSup2Sub 使用指南:位图字幕流之间的转换与调整工具 【免费下载链接】BDSup2Sub Blu-Ray/DVD subtitle editor 项目地址: https://gitcode.com/gh_mirrors/bd/BDSup2Sub BDSup2Sub 是一个基于 Java 的位图字幕转换工具,最初用于把从蓝光&#xf…

2026/8/24 7:17:04 阅读更多 →
Matlab实战:LSTM时间序列预测从数据预处理到模型部署全流程详解

Matlab实战:LSTM时间序列预测从数据预处理到模型部署全流程详解

1. 从时序预测的痛点说起:为什么是LSTM?如果你做过销量预测、电力负荷预测或者股票价格分析,大概率会遇到一个让人头疼的问题:传统的时间序列模型,比如ARIMA,在处理那些具有长期依赖关系、周期性不明显或者…

2026/8/24 4:37:51 阅读更多 →
EdgeCitadel:NATS与MQTT混合编排,构建边缘多智能体系统通信堡垒

EdgeCitadel:NATS与MQTT混合编排,构建边缘多智能体系统通信堡垒

1. 项目概述:当边缘智能遇上多智能体协同最近在折腾一个边缘计算环境下的多智能体系统原型,遇到了一个挺典型的问题:系统里的各个智能体(Agent)之间,既要能高速、可靠地传递控制指令和状态同步消息&#xf…

2026/8/22 20:23:07 阅读更多 →

最新新闻

07. mcache.refill:缓存补充与 span 归还

07. mcache.refill:缓存补充与 span 归还

1. 回顾:mcache 什么时候需要 refill? 摘要:本文深入剖析 Go 语言内存管理中 mcache 的 refill 机制,这是连接本地无锁分配与中心化 span 管理的关键桥梁。当 mcache 中的 span 完全分配完毕时,refill 负责将旧 span 归…

2026/8/24 13:48:34 阅读更多 →
cyberRT调用流程

cyberRT调用流程

cyberRT调用流程1 概述2 publisher2.1 创建2.2 enable2.3 发送3 subscriber3.1 创建3.2 enable3.3 Sub rtps消息流向3 可优化的点1 概述 cyberRT数据通信方式有Intra/SHM/Rtps三种。下面图中均以Rtps通信方式来展开介绍 2 publisher 2.1 创建 Transmitter继承于Endpoint&…

2026/8/24 13:48:34 阅读更多 →
怎么用 SteamEmulator 快速搭建局域网多人联机

怎么用 SteamEmulator 快速搭建局域网多人联机

怎么用 SteamEmulator 快速搭建局域网多人联机 【免费下载链接】SteamEmulator MIRROR REPO - Credits : Mr. Goldberg. Steam emulator that emulates Steam online features. Lets you play games that use the Steam multiplayer APIs on a LAN without steam or an interne…

2026/8/24 13:48:34 阅读更多 →
潜在代理:一种将多智能体辩论内化的LLM后训练新范式

潜在代理:一种将多智能体辩论内化的LLM后训练新范式

1. 从“显式辩论”到“潜在代理”:为什么我们需要一种新的微调范式?如果你最近在关注大语言模型(LLM)的前沿进展,尤其是多智能体协作与辩论这个方向,可能会发现一个有趣的现象:大多数研究都聚焦…

2026/8/24 13:48:34 阅读更多 →
AI智能体在心脏磁共振诊断中的多模态融合与推理技术解析

AI智能体在心脏磁共振诊断中的多模态融合与推理技术解析

1. 项目概述:当AI智能体遇上心脏磁共振 最近在医学影像AI圈子里,一个名为“BAAI Cardiac Agent”的项目引起了不小的讨论。简单来说,这是一个专门为心血管疾病打造的“智能多模态诊断代理”。它不是一个简单的图像分类模型,而是一…

2026/8/24 13:48:34 阅读更多 →
Spark大数据分析与实战笔记(第九章 综合案例—Spark实时交易数据统计-01)

Spark大数据分析与实战笔记(第九章 综合案例—Spark实时交易数据统计-01)

文章目录每日一句正能量第9章 综合案例—Spark实时交易数据统计章节概要9.1 系统概述9.1.1 系统背景介绍9.1.2 系统架构设计9.1.3 系统预览9.2 Redis数据库9.2.1 Redis介绍9.2.2 Redis部署与启动9.2.3 Redis操作及命令每日一句正能量 年华似水,匆匆流淌,…

2026/8/24 13:47:32 阅读更多 →

日新闻

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践 前端安全依赖分层防护。没有任何单一配置能替代输出编码、权限校验和依赖更新。 把不可信内容当作数据 默认使用框架的转义能力;确需渲染 HTML 时,先在服务端或可信的客户端库中进行白名单过滤。避免把用户输入直接赋给 inne…

2026/8/24 1:08:15 阅读更多 →
Windows登录密码存储机制全解析:从哈希算法到安全加固实战

Windows登录密码存储机制全解析:从哈希算法到安全加固实战

1. 项目概述:Windows登录密码的“黑匣子”每次你按下CtrlAltDel,输入密码,然后看到那个熟悉的桌面,这背后发生了一系列复杂而精密的操作。作为一名长期与Windows系统打交道的从业者,我经常被问到:“我的密码…

2026/8/24 1:08:15 阅读更多 →
AI面试系统安全挑战与解决方案

AI面试系统安全挑战与解决方案

1. 项目概述:AI面试系统的安全挑战去年参与某跨国企业AI面试系统部署时,遇到一个典型案例:候选人在视频面试中无意提到竞争对手产品名称,系统竟自动将该信息关联到企业知识库并生成竞品分析报告。这个看似"智能"的功能&…

2026/8/24 1:08:15 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/24 0:06:02 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/24 0:20:20 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/24 0:14:11 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/23 18:47:06 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →