目录
一、微前端是什么
1.1 微前端要解决什么问题
1.2 和「拆 npm 包」「单体多仓库」的差别
1.3 适用场景与不适用场景
二、前置知识
2.1 浏览器:同源、Cookie、CORS、History 与路由
2.2 构建与运行时:ESM、动态 import、publicPath、多入口
2.3 全局作用域与样式作用域(为后面「隔离」铺垫)
三、微前端的「能力清单」
3.1 加载与生命周期(bootstrap / mount / unmount)
3.2 应用间通信(事件、props、全局 store、postMessage)
3.3 路由协同(基座与子应用、刷新与深链)
3.4 样式隔离与宿主定制(变量、Shadow DOM、前缀、@layer)
3.5 JS 隔离与多版本依赖(React / Vue 重复实例问题)
3.6 独立构建、独立部署与版本策略(灰度、回滚、兼容)
四、常见集成形态
4.1 基座应用 + 多个子应用 SPA
4.2 iframe / 微件嵌入
4.3 Web Components / Shadow DOM 作为子应用或部件壳
4.4 仅仓库/包拆分、统一部署(与真·微前端的边界)
五、技术选型与代表方案(择一二深入即可)
5.1 以运行时为纲:single-spa、qiankun 等(概念与差异)
5.2 以构建为纲:Webpack Module Federation(exposes / remotes / shared)
5.3 其他:无界(wujie)、EMP、自研加载器等(可选)
5.4 选型维度表(团队、技术栈、隔离要求、运维成本)
六、工程化与上线
6.1 CI/CD、静态资源与 CDN、缓存与 hash
6.2 配置下发与环境(子应用 entry、API 基地址)
6.3 监控、日志、错误边界与性能(首屏、子应用加载失败)
6.4 安全(子应用可信源、CSP、鉴权传递)
七、实践与踩坑
7.1 本地与线上联调清单
7.2 常见问题(样式串味、路由劫持、依赖重复、跨域登录态)