> ## Documentation Index
> Fetch the complete documentation index at: https://extension.js.org/llms.txt
> Use this file to discover all available pages before exploring further.

# 开发模式更新与重载行为

> 了解哪些文件变更会热更新，哪些需要在开发期间重启。Extension.js 会自动选择最轻量、最安全的更新模式。

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

## 更新模式

| 模式                 | 发生了什么                      | 典型影响                 |
| ------------------ | -------------------------- | -------------------- |
| 热模块替换 (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 变更(入口列表编辑) 集中处理，这样只重启一次。
* 把"需要重启"的诊断当作权威：不重启而继续，可能会让你的运行时停留在过期状态。

## 下一步

* [manifest.json](/docs/implementation-guide/manifest-json)
* [content scripts](/docs/implementation-guide/content-scripts)
* [background scripts / service worker](/docs/implementation-guide/background)
* [HTML](/docs/implementation-guide/html)
