更新模式
| 模式 | 發生了什麼 | 典型影響 |
|---|---|---|
| Hot module replacement(HMR) | 模組/樣式更新就地套用 | 迭代最快,不需完整重啟擴充功能 |
Hard reload | 目標瀏覽器重新載入擴充功能執行階段 | 擴充功能情境會重啟,但開發程序仍持續執行 |
Restart required | 編譯時診斷要求你重啟 extension dev | 結構性 entrypoint/清單變更時需要 |
常見範例
| 變更 | 預期行為 |
|---|---|
| 編輯 content script/元件程式碼 | HMR/重新掛載路徑(支援時) |
| 編輯 content scripts/頁面所使用的樣式 import | HMR 風格更新路徑(視情境而定) |
編輯 manifest.json 值(非結構性) | 強制重載流程 |
| 新增/移除 manifest entrypoint 引用 | 需要重啟 |
新增/移除 pages/ 或 scripts/ entrypoint | 需要重啟 |
編輯 _locales/*/messages.json | 強制重載流程 |
當你需要重啟時怎麼做
當 Extension.js 回報Restart required 時,請先停止再重新執行 extension dev。
典型觸發條件:
- 新增或移除 manifest entrypoint 引用
- 在
pages/或scripts/中新增或移除作為擴充功能 entrypoint 的檔案 - HTML entrypoint 中結構性的腳本/樣式 entry 變更
實務指引
- 在進行中的開發階段,優先編輯既有模組/資產,以取得最快回饋。
- 把結構性 manifest 變更(entrypoint 清單編輯)批次進行,只重啟一次。
- 把需要重啟的診斷視為權威指示;不重啟就繼續可能讓執行階段處於過期狀態。

