Chrome 擴充功能開發
要開發 Chrome 擴充功能,以chrome 為目標(預設的 Chromium 執行檔則是 chromium):extension dev --browser=chrome。Extension.js 會把擴充功能載入到全新且隔離的設定檔中,並套用一組合理的 Chrome 啟動旗標,讓重新載入行為可預期。
Firefox 擴充功能開發
要開發 Firefox 擴充功能,以firefox 為目標:extension dev --browser=firefox。Manifest V3 的 background script 會編譯成非常駐的 scripts 陣列(Firefox 不使用 service_worker),而 Firefox 偏好設定則取代了 Chromium 的 chrome://flags 概念。請參見 瀏覽器偏好設定。
Edge 擴充功能開發
要開發 Edge 擴充功能,以edge 為目標:extension dev --browser=edge。Edge 共用 Chromium 引擎,大多數旗標與 API 都與 Chrome 相同,但 Extension.js 仍會輸出獨立的 dist/edge 產物以供散布。
跨瀏覽器擴充功能開發
要進行跨瀏覽器擴充功能開發,可在一個指令中執行多個目標(extension dev --browser=chrome,firefox),並將瀏覽器差異維持在 以瀏覽器前綴的 manifest 欄位 中。一個專案、一份 manifest.json,各瀏覽器各自的輸出。完整流程請參見 跨瀏覽器相容性。
該先讀什麼
實務目標策略
- 日常檢查使用具名目標(
chrome、edge、firefox)。 - 發布前驗證使用逗號分隔的多目標。
- 只有在需要自訂執行檔時才使用引擎目標。
- 將瀏覽器差異維持在以瀏覽器前綴的 manifest 欄位中。
後續步驟
- 在 跨瀏覽器相容性 中了解 manifest 過濾。
- 在 瀏覽器專屬 manifest 欄位 中設定瀏覽器專屬鍵。

