更新模式
| 模式 | 发生了什么 | 典型影响 |
|---|---|---|
| 热模块替换 (HMR) | 模块/样式更新就地生效 | 迭代最快,无需完整重启扩展 |
Hard reload | 目标浏览器会重载扩展运行时 | 扩展上下文重启,但 dev 进程继续运行 |
Restart required | 编译期诊断要求你重启 extension dev | 入口结构/列表发生变化时需要 |
常见示例
| 变更 | 期望行为 |
|---|---|
| 编辑 content script/组件代码 | HMR/重新挂载路径(在受支持的场景下) |
| 编辑被 content scripts/页面使用的样式 import | HMR 风格的更新路径(视上下文而定) |
编辑 manifest.json 中的非结构性值 | 硬重载流程 |
| 增加/移除 manifest 入口引用 | 需要重启 |
增加/移除 pages/ 或 scripts/ 入口 | 需要重启 |
编辑 _locales/*/messages.json | 硬重载流程 |
何时需要重启
当 Extension.js 报告Restart required 时,停下来,重新运行 extension dev 再继续。
典型触发:
- 增加或移除 manifest 入口引用
- 增加或移除作为扩展入口的
pages/或scripts/下的文件 - HTML 入口中结构性的脚本/样式条目变化
实用建议
- 在活跃的开发会话中,优先编辑现有模块/资产以获得最快反馈。
- 把结构性的 manifest 变更(入口列表编辑) 集中处理,这样只重启一次。
- 把”需要重启”的诊断当作权威:不重启而继续,可能会让你的运行时停留在过期状态。

