Inicio de navegador

Addfox puede iniciar automáticamente el navegador y cargar la extensión durante el desarrollo, mejorando la eficiencia de desarrollo.

Inicio rápido

Ejecutar el comando de desarrollo:

pnpm
npm
yarn
bun
pnpm dev

El primer inicio del servidor de desarrollo hará automáticamente:

  1. Construir la extensión
  2. Abrir el navegador
  3. Cargar la extensión en desarrollo

Usar Scripts para iniciar (recomendado)

Configurar scripts en package.json permite iniciar diferentes navegadores más concisamente:

{
  "scripts": {
    "dev": "addfox dev",
    "dev:chrome": "addfox dev -b chrome",
    "dev:edge": "addfox dev -b edge",
    "dev:brave": "addfox dev -b brave",
    "dev:firefox": "addfox dev -b firefox"
  }
}

Después de la configuración, usar directamente:

pnpm
npm
yarn
bun
# Chrome (predeterminado)
pnpm dev

# Otros navegadores
pnpm dev:edge
pnpm dev:firefox

Addfox soporta nativamente los siguientes navegadores basados en Chromium:

NavegadorParámetro CLIDescripción
Google Chrome-b chromeNavegador predeterminado
Chromium-b chromiumVersión de código abierto
Microsoft Edge-b edgeIncluido en Windows
Brave-b braveNavegador de privacidad
Vivaldi-b vivaldiNavegador personalizable
Opera-b operaNavegador Opera
Santa-b santaNavegador Santa
Arc-b arcNavegador de nueva forma
Yandex-b yandexNavegador Yandex
BrowserOS-b browserosBrowserOS
Custom-b customNavegador personalizado (necesita configurar browser.custom)

Iniciar directamente a través de CLI

Si no usas scripts, también puedes especificar el navegador directamente desde CLI:

pnpm
npm
yarn
bun
# Chrome (predeterminado)
pnpm addfox dev

# Otros navegadores
pnpm addfox dev -b edge
pnpm addfox dev -b brave
pnpm addfox dev -b vivaldi

Configuración de ruta de navegadores Chromium

Si el navegador no está en la ubicación predeterminada, puedes especificar browserPath en la configuración:

// addfox.config.ts
export default defineConfig({
  browserPath: {
    chrome: "/path/to/chrome",
    edge: "/path/to/edge",
    brave: "/path/to/brave",
  },
});

Ejemplos por plataforma

macOS:

export default defineConfig({
  browserPath: {
    chrome: "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
    edge: "/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge",
  },
});

Windows:

export default defineConfig({
  browserPath: {
    chrome: "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
    edge: "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe",
  },
});

Linux:

export default defineConfig({
  browserPath: {
    chrome: "/usr/bin/google-chrome",
    chromium: "/usr/bin/chromium-browser",
  },
});

Caché de datos de usuario de Chromium

Por defecto, cada inicio usa un nuevo directorio de datos de usuario. Si necesitas conservarlo (como mantener el estado de inicio de sesión), agrega en package.json:

{
  "scripts": {
    "dev:cache": "addfox dev -b chrome --cache",
    "dev:edge:cache": "addfox dev -b edge --cache"
  }
}

O ejecutar directamente desde CLI:

pnpm
npm
yarn
bun
pnpm addfox dev --cache
# o
pnpm addfox dev -c

O habilitar en la configuración:

export default defineConfig({
  cache: true,
});

Los datos de usuario se guardan en el directorio .addfox/cache/.

Firefox

El modo de desarrollo de Firefox usa la herramienta web-ext para gestionar el ciclo de vida de la extensión.

Iniciar Firefox

Usar el script configurado:

pnpm dev:firefox

O ejecutar directamente desde CLI:

pnpm
npm
yarn
bun
pnpm addfox dev -b firefox

Características de Firefox

  • La recarga de extensión es manejada por web-ext, no por WebSocket de Addfox
  • Abre automáticamente Firefox y carga la extensión al iniciar
  • Soporta recarga automática cuando cambian los archivos

Configuración de ruta de Firefox

export default defineConfig({
  browserPath: {
    firefox: "/Applications/Firefox.app/Contents/MacOS/firefox",
  },
});
Info

El perfil de Firefox es gestionado automáticamente por web-ext, no es necesario configurar opciones de caché manualmente.

Técnicas de depuración

Ver Service Worker

  1. Abrir chrome://extensions/
  2. Encontrar la extensión en desarrollo
  3. Hacer clic en "Service Worker" para ver la consola del script de fondo

Ver Content Script

  1. Clic derecho en la página web → Inspeccionar
  2. Cambiar al panel Console
  3. Seleccionar el contexto correspondiente de la extensión

Usar monitoreo de errores

Agregar script de debug en package.json:

{
  "scripts": {
    "dev:debug": "addfox dev --debug",
    "dev:firefox:debug": "addfox dev -b firefox --debug"
  }
}

Luego ejecutar:

pnpm dev:debug

O habilitar directamente desde CLI:

pnpm
npm
yarn
bun
pnpm addfox dev --debug

Configuraciones relacionadas

  • browserPath - Configuración de ruta de archivo ejecutable del navegador
  • cache - Configuración de caché
  • hotReload - Configuración de recarga en caliente
  • debug - Configuración de monitoreo de errores