微前端
一、是什么
微前端是将前端应用拆分为多个独立部署、独立运行的子应用。
类似于后端微服务。
二、为什么
适用于:
- 大型团队协作
- 多业务线系统
- 技术栈不统一
三、实现方案
1. iframe(最简单)
- 隔离强
- 通信困难
2. single-spa
- 路由级拆分
- 多框架支持
3. Module Federation
// webpack.config.js
new ModuleFederationPlugin({
name: 'app1',
remotes: {
app2: 'app2@http://localhost:3002/remoteEntry.js',
},
});
👉 主流方案(Webpack 5)
4. qiankun
- 基于 single-spa
- 更易用
- 阿里开源
四、核心问题
- 子应用通信
- 样式隔离
- JS 沙箱
- 路由同步
五、最佳实践
- 控制拆分粒度(不要过细)
- 建立统一基建(权限 / 登录 / 通信)
- 优先 Module Federation