Vite 重磅更新!Module Federation 2.0 发布!
Module Federation 2.0 官宣:Vite生态的“微前端”拼图,终于补齐了
在前端工程化的演进路上,模块联邦(Module Federation)早已不是什么新名词。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
如果你深度使用过 Webpack 5,大概率已经接触甚至实践过它。但一个不争的事实是,在 Vite 生态中,这项能力长期处于缺失状态。甚至有不少团队,仅仅因为“Vite 没有 Module Federation”,而选择继续坚守 Webpack。
直到最近,一个关键节点出现了:

官方正式推进 Module Federation 2.0,并明确推荐使用 @module-federation/vite。这意味着什么?
这意味着,Module Federation 正在从一个“Webpack 专属特性”,演变为“前端基础设施”的一部分。而 Vite 生态,也终于补上了这块至关重要的拼图。
一、什么是模块联邦(Module Federation)?
如果你还不熟悉,那确实该补补课了。
用最简单的一句话解释:Module Federation 就是可以让多个独立的前端应用在运行时“动态组合”起来,并且能智能地共享依赖。
1. 它解决了什么问题?
在没有 Module Federation 的时代,多应用共享代码要么靠复制粘贴,要么靠发布到 npm 再安装,流程冗长,且依赖容易冲突。
Module Federation 带来的改变是碘伏性的:
- 运行时加载远程模块:代码无需预先打包在一起。
- 多应用独立开发 + 独立部署:每个部分都能自治。
- 依赖自动共享:像 React、Vue 这样的框架库,多个应用共用同一个实例,不会重复加载。
它的本质,就是把“模块共享”这件事,从构建时搬到了运行时。
2. 核心概念
Module Federation 的核心架构其实很清晰,主要围绕三个角色展开(这个面试时经常被问到):
- Host(宿主应用):消费、使用远程模块的应用。
- Remote(远程应用):暴露自身模块供他人使用的应用。
- Shared(共享依赖):所有应用约定共同使用的第三方依赖,如 React、Vue、lodash 等。

它们的关系可以理解为:Host(主应用)动态地去加载 Remote A、Remote B 等远程模块。值得注意的是,一个应用完全可以同时扮演 Host 和 Remote 两种角色。
3. 核心能力
(1) 动态加载模块
通过 import(“remote/Button”) 这样的语法,就能像使用本地模块一样,无缝引入远程代码。
(2) 依赖共享
通过配置 shared: { react: { singleton: true } },可以确保所有应用共享同一个 React 实例,避免版本冲突和包体积膨胀。
(3) 独立部署
子应用可以单独更新、发版,主应用无需重新构建或发布,真正实现了“前端微服务”的构想。
4. 典型应用场景
- 微前端架构:大型系统按业务(如用户、订单、商品系统)拆分,由不同团队并行开发。
- 组件远程复用:UI 组件库动态加载,无需频繁发布 npm 包。
- 插件化系统:功能模块支持运行时按需加载,便于实现 A/B 测试或功能开关。
- 渐进式重构:在老旧系统中,逐步替换或插入新的功能模块。
二、Module Federation 2.0:关键变化
如果说之前是铺垫,那么这次 2.0 的升级方向,才是真正“重磅”的部分。
1. 从 Webpack 插件 → Runtime 系统
- 以前:MF = 一个 Webpack 插件。
- 现在:MF = 一个独立的运行时系统 + 一套协议。
2. 脱离构建工具
现在,它开始广泛支持:
- Vite
- Rspack
- Rollup(间接支持)
- 甚至未来可能支持无打包(Bundler-less)场景
它不再与 Webpack 深度绑定。
3. 新能力
2.0 版本带来了一系列增强:更完善的 Manifest 支持、运行时解耦、插件系统、开发者工具以及更好的类型支持。
4. 一个关键认知(非常重要)
必须明确一点:Module Federation 的核心价值不在于打包器,而在于运行时。这恰恰解释了为什么官方最新的选择,不是在 Rolldown 里重写 MF,而是直接推进 @module-federation/vite。
这也是本次更新的核心主角——让 Vite 原生、完整地拥有 Module Federation 能力。
三、如何使用 module-federation/vite?
上手并不复杂。
安装:
npm install @module-federation/vite
Remote(子应用)配置示例:
import { federation } from “@module-federation/vite”;
export default {
plugins: [
federation({
name: “remote_app”,
filename: “remoteEntry.js”,
exposes: {
“./App”: “./src/App.vue”
},
shared: [“vue”]
})
]
};
Host(主应用)配置示例:
import { federation } from “@module-federation/vite”;
export default {
plugins: [
federation({
name: “host_app”,
remotes: {
remote: {
type: “module”,
entry: “http://localhost:5001/remoteEntry.js”
}
},
shared: [“vue”]
})
]
};
使用远程模块:
之后,在主应用中就可以直接动态导入:
import(“remote/App”);
使用体验和本地模块几乎无异。
四、写在最后
Vite 正式补齐了“微前端”这块核心能力,标志着 Module Federation 进入了新的时代。
- Module Federation 不再专属于 Webpack。
- 它正在成为前端领域“运行时模块化”的事实标准。
@module-federation/vite是这个趋势最关键的一次落地实践。
相关链接:
- module-federation/vite GitHub 地址:https://github.com/module-federation/vite
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
传统的NLP技术的局限性
传统NLP技术的局限性:一个绕不开的话题 但凡对自然语言处理领域有所了解的人,都清楚传统方法曾立下汗马功劳。但话说回来,随着技术向前迈进,它的几处“硬伤”也愈发明显,客观地限制了其应用与发展的边界。这些局限性究竟在哪?我们不妨来逐一看清。 数据稀疏:一个根本性的难题 自然语言本质上是离散的符号系统,
批量识别图片文字并录入到表格里
RPA与OCR结合:如何自动化批量提取图片文字并录入表格 在数据处理的日常工作中,你是否经常面对堆积如山的图片,需要手动将里面的文字信息一个一个敲进表格?这种重复、枯燥的任务,恰恰是RPA(机器人流程自动化)最擅长的领域。当它为OCR(光学字符识别)技术装上“自动化”的引擎,批量识别与录入就能一气呵
表格怎样自动更新新增数据
利用RPA实现表格自动更新新增数据 想把RPA(机器人流程自动化)用起来,让表格自动更新新增数据?这事儿听起来复杂,其实拆解成几步来看,脉络就很清晰了。关键在于把流程设计好,剩下的就是技术实现和持续优化了。 一、明确更新需求 动手之前,先得把目标搞清楚。具体要更新哪个表格?更新哪些内容?这些是基本盘
什么是大模型
大模型:庞大参数背后的智能引擎 在人工智能领域,我们常常听到“大模型”这个词。那它到底指什么呢?简单来说,这是一类参数规模极其庞大、结构相当复杂的机器学习模型。它们大多基于深度学习框架,尤其是神经网络,其内部参数量往往以百万、千万乃至亿为单位来衡量。你猜怎么着?正是这种规模上的“大”,带来了能力上的
rpa容易被替代吗
RPA会被替代吗?关键在于如何定义“替代” 提起RPA(机器人流程自动化),现在但凡聊到企业降本增效和数字化转型,它几乎已经成了绕不开的话题。毕竟,这套技术实实在在地帮企业在效率提升、错误减少上看到了甜头。但风口之下,一个疑问也随之而来:RPA的火,能持续多久?它会不会很快就被更新的技术浪潮拍在沙滩
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

