跳轉到主要內容
知道哪些變更可以即時套用、哪些需要重啟,才能讓開發節奏快速。Extension.js 會依檔案變更挑選最輕量且安全的更新模式。

更新模式

模式發生了什麼典型影響
Hot module replacement(HMR)模組/樣式更新就地套用迭代最快,不需完整重啟擴充功能
Hard reload目標瀏覽器重新載入擴充功能執行階段擴充功能情境會重啟,但開發程序仍持續執行
Restart required編譯時診斷要求你重啟 extension dev結構性 entrypoint/清單變更時需要

常見範例

變更預期行為
編輯 content script/元件程式碼HMR/重新掛載路徑(支援時)
編輯 content scripts/頁面所使用的樣式 importHMR 風格更新路徑(視情境而定)
編輯 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 清單編輯)批次進行,只重啟一次。
  • 把需要重啟的診斷視為權威指示;不重啟就繼續可能讓執行階段處於過期狀態。

下一步