dist/<browser>,也能為發佈產生 zip 封裝。
運作方式
執行正式建置:chromium,除非你覆寫它。
瀏覽器選擇
你可以鎖定特定的瀏覽器/引擎:chromeedgefirefoxchromiumchromium-basedgecko-based/firefox-based(別名)
chrome、edge 與 firefox 進行建置。
輸出結構
每個目標會寫入自己的資料夾:dist/chromedist/edgedist/firefoxdist/chromiumdist/chromium-baseddist/gecko-based
建置能力
| 選項 | 作用 |
|---|---|
--browser=<target> | 為特定瀏覽器或引擎家族建置。 |
--zip | 為每個目標輸出產生發佈用 zip。 |
--zip-filename=<name> | 覆寫預設的 zip 檔名。 |
--zip-source | 額外建立原始碼封存檔。 |
--polyfill | 在 Chromium 家族目標啟用 browser.* API 的相容性行為。 |
產生 zip 檔
用--zip 為每個目標輸出產生發佈 zip:
name + version,例如:
my-extension-1.0.0.zip
dist/<browser> 資料夾內建立 my-release.zip。
包含原始碼封存檔
使用--zip-source 在發佈輸出旁邊另外產生原始碼封存檔。
--zip-source 會產生:
dist/<name>-<version>-source.zip
Polyfill 瀏覽器 API
如果你的程式碼依賴 Gecko 風格的browser.* API,又需要 Chromium 相容性,可以啟用 --polyfill:
最佳實務
- 在持續整合(CI)中為每個目標分別建置:把每個瀏覽器輸出視為獨立產物。
- 使用瀏覽器矩陣指令做一致性檢查:在同一個流水線步驟內及早抓到目標專屬問題。
- 有意識地進行封裝:用
--zip上架到應用商店,用--zip-source產生可追溯的原始碼產物。 - 保留明確的目標設定:用
extension.config.*的指令/瀏覽器預設值來確保建置可重現。

