跳转至

Module Federation 2.0 正式发布稳定版,逐步摆脱对 Webpack 的依赖 - InfoQ

站点: InfoQ 抓取日期: 2026-04-14 URL: https://www.infoq.cn/article/8mt2pi2EFrjB5xytzStF


Module Federation 2.0 正式发布稳定版,逐步摆脱对 Webpack 的依赖 - InfoQ 首页 AI会议 hot AI课程 hot AI应用 hot 报告 HarmonyOS Snowflake new 更多    写点什么  创作场景  记录自己日常工作的实践、心得 发表对生活和职场的感悟 针对感兴趣的事件发表随笔或者杂谈 从 0 到 1 详细介绍你掌握的一门语言、一个技术,或者一个兴趣、爱好 或者,就直接把你的个人博客、公众号直接搬到这里 登录 / 注册 企业动态 行业深度 AI&大模型 出海 后端 芯片&算力 架构 大数据 软件工程 云计算 大前端 管理/文化 Module Federation 2.0 正式发布稳定版,逐步摆脱对 Webpack 的依赖 作者:Daniel Curtis 马可薇 2026-04-14 北京 本文字数:1401 字 阅读完需:约 5 分钟 作为在 webpack 5 中引入的微前端代码共享机制, Module Federation 已 发布 2.0 稳定版 。这一版本在架构上进行了较大幅度的重构,基于字节跳动内部基础设施的实践经验,并由 Module Federation 原作者 Zack Jackson 共同参与开发。该版本最早由字节跳动 Web Infra 团队于 2024 年 4 月 在 GitHub 上公布 ,引入了动态 TypeScript 类型提示、解耦的运行时层、Node.js 支持,以及大幅扩展的打包工具生态。 2.0 中最重要的改进之一是动态类型提示。在早期版本中,在 TypeScript 项目中消费远程模块时往往会丢失静态类型信息,团队要么需要维护一套共享类型包,要么只能使用 any 。Module Federation 2.0 支持在开发阶段自动生成并加载远程模块的类型信息,提供类似 npm link 的热更新体验。 Dunelm Technology 的 Rowan Powell 表示,这一功能“显著简化了开发流程”,不再需要“在各个文件中手动查找类型定义”。 在架构层面,2.0 将 Module Federation 的运行时与底层构建工具完全解耦,在不同平台之间实现了更一致的实现方式,使模块加载行为不再依赖具体的打包工具。目前已支持包括 webpack、Rspack、Rollup、Rolldown、Rsbuild、Vite 和 Metro 在内的多种打包器;在框架层面支持 Next.js、Modern.js、Rspress 和 Storybook,同时兼容 React、Vue 和 React Native 等 UI 技术栈。这一扩展解决了长期以来的一个痛点:过去由于与 webpack 深度绑定,一些团队对引入 Module Federation 持观望态度,而现在可以在不更换现有工具链的情况下进行集成。 另一个值得关注的扩展是对 Node.js 运行时的原生支持。这意味着远程模块不仅可以在前端使用,也可以被服务端渲染层、BFF 服务以及 Node 微服务消费,从而在前后端之间实现统一的模块分发模型。同时,新引入的 mf-manifest.json 协议也简化了部署平台的集成,使跨独立部署应用之间的版本与资源管理更加清晰可控。 针对团队在引入远程模块时对副作用的顾虑,2.0 提供了一个 Side Effect Scanner 工具。这是一个 CLI 工具,可以对构建产物进行静态分析,在集成前识别全局变量污染、事件监听注册以及 CSS 选择器作用域等潜在问题。此外,配套的 Chrome 扩展也进行了升级,在界面和调试能力上都有所增强,可以更直观地查看运行时依赖关系。 对于从 Module Federation 1.x 迁移的团队,项目支持渐进式升级。v2 插件以 @module-federation/enhanced 的形式发布,迁移主要是在打包配置中替换插件引用即可。 社区整体对动态类型提示和 Chrome DevTools 增强持积极态度,但仍存在一定质疑。在 Reddit 上,有开发者 表示 Module Federation 依然较为复杂,并将其与 monorepo 工具进行对比: 我用过 Module Federation,体验比较复杂;如果使用 pnpm 的 monorepo 配合 catalogs 和 turborepo,开发体验要好很多。我参与过包含几十个内部包和应用的项目,这类工具处理起来更顺手。 与此同时, Single-SPA 、import maps 和 Piral 等替代方案也在持续吸引团队,它们提供了更轻量的微前端实现方式,并且不依赖打包器插件。不过,在大规模场景下,Module Federation 在运行时版本协商和内置错误边界等方面仍具备一定优势。 Module Federation 本质上是一种用于拆分 JavaScript 应用的开源架构模式及插件生态,最初由 Zack Jackson 在 webpack 5 中提出,目前由字节跳动 Web Infra 团队与社区共同维护。该项目采用 MIT 许可证,其核心包 @module-federation/enhanced 已发布在 npm 上。 促进软件开发及相关领域知识与创新的传播 关于我们 我要投稿 合作伙伴 加入我们 关注我们 联系我们 内容投稿:editors@geekbang.com 业务合作:hezuo@geekbang.com 反馈投诉:feedback@geekbang.com 加入我们:zhaopin@geekbang.com 联系电话:010-64738142 地址:北京市朝阳区望京北路9号2幢7层A701 InfoQ 近期会议 北京 · QCon 全球软件开发大会 2026.4.16-18 上海 · AICon 全球人工智能开发与应用大会 2026.6.26-27 全球 InfoQ InfoQ En InfoQ Jp InfoQ Fr InfoQ Br Copyright © 2026, Geekbang Technology Ltd. All rights reserved. 极客邦控股(北京)有限公司 | 京 ICP 备 16027448 号 - 5 京公网安备 11010502039052号 | 产品资质