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

選擇合適的目標

目標適用情境範例
chromium預設、快速的本機開發extension dev --browser=chromium
chrome驗證 Chrome 特有行為extension dev --browser=chrome
edge驗證 Edge 的散布行為extension dev --browser=edge
firefox驗證 Gecko 相容性與 APIextension dev --browser=firefox
chrome,firefox同時對兩大引擎進行發布前檢查extension build --browser=chrome,firefox
chromium-based執行自訂 Chromium 執行檔(Brave、Arc 等)extension dev --browser=chromium-based --chromium-binary=/path/to/browser
gecko-based執行自訂 Firefox 系列的執行檔extension dev --browser=gecko-based --gecko-binary=/path/to/browser
safari在 macOS 上建置 Safari 應用程式(需 Xcode)extension build --browser=safari

運作方式

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

支援的瀏覽器

具名瀏覽器目標:
瀏覽器用法
Chromenpx extension dev --browser=chrome
Edgenpx extension dev --browser=edge
Firefoxnpx extension dev --browser=firefox
Chromiumnpx extension dev --browser=chromium
引擎類型目標(需自訂執行檔):
引擎目標用法
Chromium-basednpx extension dev --browser=chromium-based --chromium-binary=/path/to/browser
Gecko-based(firefox-based)npx extension dev --browser=gecko-based --gecko-binary=/path/to/browser
Extension.js 在內部把 firefox-based 視為 Gecko 引擎目標。

Safari 與其他 WebKit 目標

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

多瀏覽器選擇

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

限制與行為

  • chromium-based 需要 --chromium-binary
  • gecko-based / firefox-based 需要 --gecko-binary
  • 引擎類型目標會路由到同樣的 Chromium/Firefox 啟動器,但行為會依引擎調整。

最佳實務

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

後續步驟