> ## Documentation Index
> Fetch the complete documentation index at: https://extension.js.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Chrome、Firefox 与 Edge 的浏览器目标配置指南

> 为 Chrome、Firefox 与 Edge 扩展开发配置浏览器目标。涵盖 Extension.js 中的目标设置、profile、flag 与自定义二进制。

<AvatarBrowsers browsers={["chrome", "firefox", "edge"]} />

通过显式的浏览器目标工作流，让一份扩展代码同时跑在 Chrome、Edge、Firefox
与自定义二进制上。

## Chrome 扩展开发

进行 Chrome 扩展开发时，目标设为 `chrome`（或 `chromium` 使用默认 Chromium 二进制）：`extension dev --browser=chrome`。Extension.js 会把扩展加载到一个全新的、隔离的 profile，并应用一组合理的 [Chrome 启动 flag](/docs/browsers/browser-flags)，让重载行为可预期。

## Firefox 扩展开发

进行 Firefox 扩展开发时，目标设为 `firefox`：`extension dev --browser=firefox`。Manifest V3 的后台脚本会被编译为非持久的 `scripts` 数组（Firefox 不使用 `service_worker`），并且在 Firefox 中是用 preferences 取代了 Chromium 的 `chrome://flags` 概念。详见 [浏览器 preferences](/docs/browsers/browser-preferences)。

## Edge 扩展开发

进行 Edge 扩展开发时，目标设为 `edge`：`extension dev --browser=edge`。Edge 与 Chrome 共用 Chromium 引擎，所以大多数 flag 与 API 都一致，但 Extension.js 仍会为分发产出独立的 `dist/edge` 产物。

## 跨浏览器扩展开发

进行跨浏览器扩展开发时，可以在一条命令中运行多个目标（`extension dev --browser=chrome,firefox`），并把浏览器差异留在 [带浏览器前缀的 manifest 字段](/docs/features/browser-specific-fields) 中。一个项目、一份 `manifest.json`、按浏览器产出各自不同的输出。完整流水线请参见 [跨浏览器兼容性](/docs/features/cross-browser-compatibility)。

## 先看什么

| 你的需求                   | 推荐阅读                                                  |
| ---------------------- | ----------------------------------------------------- |
| 快速选择浏览器目标              | [可用浏览器](/docs/browsers/browsers-available)            |
| 自定义启动行为                | [浏览器 flag](/docs/browsers/browser-flags)              |
| 配置 Firefox preferences | [浏览器 preferences](/docs/browsers/browser-preferences) |
| 控制 profile 隔离          | [浏览器 profile](/docs/browsers/browser-profile)         |
| 运行 Brave 或自定义二进制       | [运行其他浏览器](/docs/browsers/running-other-browsers)      |

## 实战目标策略

1. 日常检查使用具名目标（`chrome`、`edge`、`firefox`）。
2. 发布前用逗号分隔的多目标做验证。
3. 仅在需要自定义二进制时才用引擎目标。
4. 把浏览器差异留在带浏览器前缀的 manifest 字段中。

## 下一步

* 在 [跨浏览器兼容性](/docs/features/cross-browser-compatibility) 中了解 manifest 过滤。
* 在 [按浏览器划分的 manifest 字段](/docs/features/browser-specific-fields) 中配置特定浏览器的键。

## 视频演示
