前端实战

事件总线挂了半天才发现是内存泄漏——我在微前端里给事件加了命名空间和类型约束

微前端架构中,全局 EventBus 的内存泄漏常因子应用卸载时未移除事件监听导致,尤其是高频事件和闭包引用会加速内存飙升。通过命名空间实现事件归属与批量清理,结合 TypeScript 类型约束固化事件签名,可从根本上杜绝泄漏和类型错乱。文章还提供了完整落地代码及 mitt、RxJS 等替代方案,强调生命周期绑定与可验证清理的核心原则。

前端实战

子应用挂了别急着白屏,先把静态副本顶上去——降级策略和用户提示的几个实践细节

前端容灾的关键在于两层防护:静态副本快速顶替和用户提示给出出路。静态副本应是包含核心功能的最小可用版本,而非简单公告页,需完全自包含且体积极小。触发切换要前置监控,在用户感知卡顿前完成。用户提示需具体说明可用功能、提供可操作按钮并避免甩锅技术细节。副本维护可通过自动化构建流水线降低,且缓存策略需与主版本隔离。

前端实战

一个巨型 AngularJS 项目拆成 8 个微前端子应用,我们怎么定的拆分边界和粒度

从一次线上白屏事故出发,团队将运行9年的AngularJS单体巨兽拆分为8个微前端子应用。核心思路是从业务能力而非代码结构切入,通过变更频率、数据耦合度和团队匹配三个硬指标确定拆分边界。迁移过程遵循风险控制优先原则,并做出了允许适度冗余、路由隔离、事件总线通信等反直觉决策,最终在14个月内实现无事故迁移。

前端实战

子应用样式泄漏排查:从复现环境搭建到锁定污染源的具体步骤

微前端项目中,子应用嵌入主应用后常出现样式泄漏,如按钮错位、表格边框消失或弹窗层级冲突。排查可从三方面入手:先用 Shadow DOM 快速复现以隔离主应用干扰;再通过 Chrome DevTools 的 Styles、Computed 面板及 DOM 断点精准定位污染源;最后根据架构选择 CSS Modules、Shadow DOM 或 BEM 命名空间等方案修复,并配合 stylelint 与视觉回归测试建立工程化防御。