微前端框架Module Federation
以下是 Module Federation 的核心知识点,并结合微前端架构的设计思想,帮助我们构建完整的知识体系:
一、Module Federation 基础概念
1. 什么是 Module Federation?
- 定义:Webpack 5 引入的一项革命性功能,允许在运行时动态加载其他独立构建的应用模块(微前端),实现跨应用的代码共享。
- 核心思想:将应用拆分为多个独立模块(称为“微前端”),各模块可独立开发、部署,最终通过运行时集成。
2. 核心角色
- Host(宿主应用):消费其他模块的应用(如主应用)。
- Remote(远程模块):被其他应用消费的模块(如子应用)。
- Shared Dependencies(共享依赖):跨应用共享的库(如 React、Vue),避免重复加载。
3. 关键能力
- 动态代码加载:按需加载远程模块。
- 依赖共享:避免重复打包相同库(如 React)。
- 独立部署:每个模块独立构建、部署,不影响其他模块。
二、Module Federation 核心配置
1. Webpack 配置
-
Host 配置:
const ModuleFederationPlugin = require