微前端架构在Webpack生态已相对成熟,但Vite用户长期面临一个尴尬局面:社区方案不少,生产级治理却总要自己造轮子。
vite-plugin-federation 1.0的发布,试图把这个缺口补上。它并非又一个简单的联邦模块适配器,而是一套覆盖构建、运行时、协议层的完整方案,支持Vite 5至Vite 8,包括Rolldown。
![]()
现有两条主流社区路径各有侧重。@originjs/vite-plugin-federation围绕virtual:__federation__自建运行时;@module-federation/vite则直接对接@module-federation/runtime。两者都能跑通基础功能,但生产环境需要的韧性控制——清单缓存与TTL、过期再验证、熔断降级、SRI校验、多租户隔离、SSR适配、可观测性——往往散落在应用代码、网关、CDN各处,缺乏统一封装。
远程开发的体验落差同样明显。@originjs方案通常依赖vite build --watch;@module-federation/vite@1.15.4虽支持remoteHmr: true,但React Fast Refresh的特殊处理外,其他场景多回退到整页刷新。pnpm/workspace下的共享依赖解析不一致、运行时单例冲突难定位,都是老问题。
Vite 8与Rolldown的推出又新增兼容性维度。包行为差异、modulePreload辅助函数重写、output.codeSplitting.groups配置、顶层await处理,都要求联邦插件再消化一层编译器特性。
新插件的架构设计是"组合而非单体"。调用federation()会注入一组协作Vite插件,核心能力拆到四个正交层:构建时插件、虚拟模块、运行时、协议层。这种结构让manifest优先加载、原生SSR支持、多租户隔离、安全治理、深度可观测性得以在同一API下落地,横跨Vite 5到Vite 8全版本。
项目仓库的COMPARISON.md记录了与社区方案的结构化对比。文中引用的版本号——vite-plugin-federation@1.0.0、@module-federation/vite@1.15.4、@originjs/vite-plugin-federation@1.4.1——均于2026年5月11日核验npm注册表。外部包版本变化快,具体版本声明建议对照仓库快照二次确认。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.