Chrome 扩展开发
进行 Chrome 扩展开发时,目标设为chrome(或 chromium 使用默认 Chromium 二进制):extension dev --browser=chrome。Extension.js 会把扩展加载到一个全新的、隔离的 profile,并应用一组合理的 Chrome 启动 flag,让重载行为可预期。
Firefox 扩展开发
进行 Firefox 扩展开发时,目标设为firefox:extension dev --browser=firefox。Manifest V3 的后台脚本会被编译为非持久的 scripts 数组(Firefox 不使用 service_worker),并且在 Firefox 中是用 preferences 取代了 Chromium 的 chrome://flags 概念。详见 浏览器 preferences。
Edge 扩展开发
进行 Edge 扩展开发时,目标设为edge:extension dev --browser=edge。Edge 与 Chrome 共用 Chromium 引擎,所以大多数 flag 与 API 都一致,但 Extension.js 仍会为分发产出独立的 dist/edge 产物。
跨浏览器扩展开发
进行跨浏览器扩展开发时,可以在一条命令中运行多个目标(extension dev --browser=chrome,firefox),并把浏览器差异留在 带浏览器前缀的 manifest 字段 中。一个项目、一份 manifest.json、按浏览器产出各自不同的输出。完整流水线请参见 跨浏览器兼容性。
先看什么
| 你的需求 | 推荐阅读 |
|---|---|
| 快速选择浏览器目标 | 可用浏览器 |
| 自定义启动行为 | 浏览器 flag |
| 配置 Firefox preferences | 浏览器 preferences |
| 控制 profile 隔离 | 浏览器 profile |
| 运行 Brave 或自定义二进制 | 运行其他浏览器 |
实战目标策略
- 日常检查使用具名目标(
chrome、edge、firefox)。 - 发布前用逗号分隔的多目标做验证。
- 仅在需要自定义二进制时才用引擎目标。
- 把浏览器差异留在带浏览器前缀的 manifest 字段中。
下一步
- 在 跨浏览器兼容性 中了解 manifest 过滤。
- 在 按浏览器划分的 manifest 字段 中配置特定浏览器的键。

