browser

browser는 개발 시 자동으로 열고 확장을 로드할 브라우저를 구성하는 데 사용됩니다: 실행 파일 경로, user-data(profile) 디렉토리, 실행 간 profile 유지 여부.

개요

  • 타입: Record<BrowserName, { path?: string; profile?: string; keepBrowserProfile?: boolean }>
  • 기본값: undefined (시스템 기본 경로 사용)
  • 필수 여부: 아니오

각 브라우저 항목은 다음 필드를 지원합니다:

  • path — 브라우저 실행 파일 경로
  • profile — 사용자 정의 user-data(profile) 디렉토리. 상대 경로는 프로젝트 루트 기준으로 해석됩니다 (기본값: <outputRoot>/cache/browser-profile/<name>-user-data)
  • keepBrowserProfile — 실행 사이에 이 브라우저의 profile을 유지하며, 최상위 keepBrowserProfile을 재정의합니다

Chromium 기반 브라우저

다음 Chromium 기반 브라우저를 지원합니다:

브라우저구성 키기본 경로
Google Chromechrome자동 감지
Chromiumchromium자동 감지
Microsoft Edgeedge자동 감지
Bravebrave자동 감지
Vivaldivivaldi자동 감지
Operaopera자동 감지
Arcarc자동 감지

구성 예시

// addfox.config.ts
export default defineConfig({
  browser: {
    chrome: { path: "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" },
    edge: { path: "/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge" },
  },
});

CLI로 시작

pnpm
npm
yarn
bun
pnpm dev -- -b chrome
pnpm dev -- -b edge
pnpm dev -- -b brave

Firefox

Firefox는 web-ext 도구를 사용하여 확장을 관리하며, 경로 구성 방식은 동일합니다:

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

Firefox 시작

pnpm
npm
yarn
bun
pnpm dev -- -b firefox
Info

Firefox 개발 모드는 web-ext 도구를 사용하며, 확장 리로드는 Addfox의 WebSocket이 아닌 web-ext에서 처리합니다.

각 플랫폼 예시

macOS

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

Windows

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

Linux

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

Deprecated: browserPath

browserPath는 여전히 동작하지만 터미널에 deprecated 경고를 출력합니다. browser로 마이그레이션하세요:

// 이전 (deprecated)
export default defineConfig({
  browserPath: { chrome: "/path/to/chrome" },
});

// 이후
export default defineConfig({
  browser: { chrome: { path: "/path/to/chrome" } },
});

같은 브라우저에 browserPathbrowser가 모두 설정된 경우 browser가 우선합니다.

관련 설정