热更新架构
这是一个团队内部的分享,介绍了热更新/热插拔的优点以及所需的成本。主要通过分析 Node.js 和 Webpack 的热更新机制,总结出实现热更新/热插拔架构需要这些特性
- 组件系统,组件作为热更新的最小单位
- 管理热更新的运行时程序,用于检测更新,加载新组件,替换和释放旧组件
- 元编程的能力,允许程序对自身进行修改
要实现可热更新的组件系统,需要这些特性
- 在组件栈中,上层组件的热更新需要下层组件的热更新支持
- 组件需要有“纯”或“无状态”或“副作用可撤销”的特性
- 合理的组件编排模型(怎样才算合理?没有深入讨论)