Skip to content

浏览器启动

配置说明

在开发过程中,WXT会通过web-ext自动打开带有你安装的扩展的浏览器窗口。

配置文件位置

你可以通过以下三种方式配置浏览器启动:

  1. <rootDir>/web-ext.config.ts: 忽略版本控制,此文件允许你在不影响其他开发者的情况下为特定项目设置自定义选项。

    typescript
    import { defineRunnerConfig } from 'wxt';
    
    export default defineRunnerConfig({
      // ...
    });
  2. <rootDir>/wxt.config.ts: 通过[runner](/api/reference/wxt/interfaces/InlineConfig#runner)配置,包含在版本控制中。

  3. $HOME/web-ext.config.ts: 给所有WXT项目提供默认值。

配食谱

设置浏览器二进制

要设置或自定义开发环境中打开的浏览器:

typescript
export default defineRunnerConfig({
  binaries: {
    chrome: '/path/to/chrome-beta', // 使用Chrome Beta而不是普通Chrome
    firefox: 'firefoxdeveloperedition', // 使用Firefox开发者版本而不是普通Firefox
    edge: '/path/to/edge', // 在运行"wxt -b edge"时打开微软Edge
  },
});

默认情况下,WXT会尝试自动发现Chrome或Firefox的安装位置。如果你的Chrome安装在非标准位置,你需要像上面那样手动设置。

持续化数据

默认情况下,web-ext每次运行dev脚本都会创建一个新的浏览器文件夹以保持你的修改。目前,基于Chromium的浏览器是唯一支持多次运行dev脚本并持续化数据的浏览器。

要使数据持续化,设置--user-data-dir标志:

typescript
export default defineRunnerConfig({
  chromiumArgs: ['--user-data-dir=./.wxt/chrome-data'],
});
typescript
import { resolve } from 'node:path';

export default defineRunnerConfig({
  // 在Windows上,路径必须是绝对的
  chromiumProfile: resolve('.wxt/chrome-data'),
  keepProfileChanges: true,
});

:::

现在,下一次运行dev脚本时会在.wxt/chrome-data/{profile-name}中创建一个持久化文件夹。使用持久化文件夹,你可以安装开发工具扩展来帮助开发,让浏览器记住登录信息等,无需担心下次运行dev脚本时文件夹会被重置。

:::

关闭打开浏览器

如果你更喜欢手动加载扩展到你的浏览器,你可以关闭自动打开浏览器的行为:

typescript
export default defineRunnerConfig({
  disabled: true,
});