webpack 高频追问 Q&A
1. Q: Loader 和 Plugin 本质区别?
A: Loader 处理模块内容转换,Plugin 介入构建生命周期做扩展。
2. Q: HMR 为什么能只更新局部?
A: 模块热替换基于依赖图定位变更边界并推送更新。
3. Q: Tree Shaking 依赖什么前提?
A: ESM 静态结构和 production 模式优化。
4. Q: 构建慢怎么排查?
A: 先看耗时插件/loader,再看缓存、并行和拆分策略。
5. Q: 为什么还在用 webpack?
A: 历史项目深度定制多、生态兼容成熟、迁移成本高。