選擇合適的目標
運作方式
在dev、start、preview 與 build 中使用 --browser 來選擇目標。
如果沒指定瀏覽器,CLI 預設使用 chromium。
safari(以及它的 webkit-based 別名)是例外:它是 alpha、僅限 macOS 的建置目標,只支援 build 與 dev,不支援 preview 或 start。請參見 建置 Safari 擴充功能。
支援的瀏覽器
具名瀏覽器目標:
具名分支(從你的系統自動定位,不需要執行檔路徑):
如果具名分支未安裝,Extension.js 會以安裝指引結束。請參見 執行其他瀏覽器。
引擎類型目標(需自訂執行檔):
Extension.js 在內部把
firefox-based 視為 Gecko 引擎目標。
Safari 與其他 WebKit 目標
除了 Chromium 系列與 Firefox(Gecko 引擎),Extension.js 也能在 macOS 上把你的擴充功能建置成 Safari 應用程式。
Safari 是建置目標:支援
build 與 dev,不支援 preview 與 start(Safari 擴充功能無法自動載入到執行中的瀏覽器)。它需要 macOS 與完整的 Xcode 應用程式。完整流程、需求,以及如何在 Safari 中啟用該擴充功能,請參見 建置 Safari 擴充功能。
多瀏覽器選擇
你可以在一個指令中執行多個具名瀏覽器:--browser=chrome,edge,firefox)。
限制與行為
- 在會啟動瀏覽器的指令(
dev、start、preview)中,chromium-based需要--chromium-binary;build不需要執行檔。 gecko-based/firefox-based在同樣前提下需要--gecko-binary。- 引擎類型目標會路由到同樣的 Chromium/Firefox 啟動器,但行為會依引擎調整。
- 作為
build目標時,引擎目標擁有獨立的dist/<target>目錄、.env.<target>解析、EXTENSION_BROWSER值與 manifest 前綴——見引擎目標對build的意義。
最佳實務
- 日常迭代用具名瀏覽器:
chrome、edge與firefox是日常測試最快的路徑。 - 有意識地使用引擎類型模式:在驗證自訂執行檔或需要家族通用建置時使用
chromium-based/gecko-based。 - 每個瀏覽器保持設定檔隔離:除錯時減少跨瀏覽器的狀態洩漏。
- 搭配瀏覽器專屬欄位:用瀏覽器前綴的 manifest 鍵表達真正不同的行為。

