Skip to main content
從單一 CLI 工作流程,在各大瀏覽器上執行並測試你的擴充功能。 從單一 CLI 驗證一個擴充功能在 Chrome、Edge、Firefox 與自訂瀏覽器執行檔上的行為。 當你需要從同一份 Extension.js 專案測試 Chrome、Firefox 或 Edge 擴充功能時,可以使用這個頁面。

選擇合適的目標

運作方式

devstartpreviewbuild 中使用 --browser 來選擇目標。 如果沒指定瀏覽器,CLI 預設使用 chromium safari(以及它的 webkit-based 別名)是例外:它是 alpha、僅限 macOS 的建置目標,只支援 builddev,不支援 previewstart。請參見 建置 Safari 擴充功能

支援的瀏覽器

具名瀏覽器目標: 具名分支(從你的系統自動定位,不需要執行檔路徑): 如果具名分支未安裝,Extension.js 會以安裝指引結束。請參見 執行其他瀏覽器 引擎類型目標(需自訂執行檔): Extension.js 在內部把 firefox-based 視為 Gecko 引擎目標。

Safari 與其他 WebKit 目標

除了 Chromium 系列與 Firefox(Gecko 引擎),Extension.js 也能在 macOS 上把你的擴充功能建置成 Safari 應用程式。 Safari 是建置目標:支援 builddev,不支援 previewstart(Safari 擴充功能無法自動載入到執行中的瀏覽器)。它需要 macOS 與完整的 Xcode 應用程式。完整流程、需求,以及如何在 Safari 中啟用該擴充功能,請參見 建置 Safari 擴充功能

多瀏覽器選擇

你可以在一個指令中執行多個具名瀏覽器:
使用逗號分隔的值即可依序執行多個具名目標(例如 --browser=chrome,edge,firefox)。

限制與行為

  • 在會啟動瀏覽器的指令(devstartpreview)中,chromium-based 需要 --chromium-binary;build 不需要執行檔。
  • gecko-based / firefox-based 在同樣前提下需要 --gecko-binary
  • 引擎類型目標會路由到同樣的 Chromium/Firefox 啟動器,但行為會依引擎調整。
  • 作為 build 目標時,引擎目標擁有獨立的 dist/<target> 目錄、.env.<target> 解析、EXTENSION_BROWSER 值與 manifest 前綴——見引擎目標對 build 的意義

最佳實務

  • 日常迭代用具名瀏覽器:chromeedgefirefox 是日常測試最快的路徑。
  • 有意識地使用引擎類型模式:在驗證自訂執行檔或需要家族通用建置時使用 chromium-based / gecko-based
  • 每個瀏覽器保持設定檔隔離:除錯時減少跨瀏覽器的狀態洩漏。
  • 搭配瀏覽器專屬欄位:用瀏覽器前綴的 manifest 鍵表達真正不同的行為。

後續步驟