跳转到主要内容
知道哪些变更会即时生效、哪些需要重启,才能保持迭代速度。Extension.js 会为每次文件变更选择最轻量、最安全的更新模式。

更新模式

模式发生了什么典型影响
热模块替换 (HMR)模块/样式更新就地生效迭代最快,无需完整重启扩展
Hard reload目标浏览器会重载扩展运行时扩展上下文重启,但 dev 进程继续运行
Restart required编译期诊断要求你重启 extension dev入口结构/列表发生变化时需要

常见示例

变更期望行为
编辑 content script/组件代码HMR/重新挂载路径(在受支持的场景下)
编辑被 content scripts/页面使用的样式 importHMR 风格的更新路径(视上下文而定)
编辑 manifest.json 中的非结构性值硬重载流程
增加/移除 manifest 入口引用需要重启
增加/移除 pages/scripts/ 入口需要重启
编辑 _locales/*/messages.json硬重载流程

何时需要重启

当 Extension.js 报告 Restart required 时,停下来,重新运行 extension dev 再继续。 典型触发:
  • 增加或移除 manifest 入口引用
  • 增加或移除作为扩展入口的 pages/scripts/ 下的文件
  • HTML 入口中结构性的脚本/样式条目变化

实用建议

  • 在活跃的开发会话中,优先编辑现有模块/资产以获得最快反馈。
  • 把结构性的 manifest 变更(入口列表编辑) 集中处理,这样只重启一次。
  • 把”需要重启”的诊断当作权威:不重启而继续,可能会让你的运行时停留在过期状态。

下一步