비교
WXT와 Plasmo (다른 프레임워크) 그리고 CRXJS (번들러 플러그인)의 기능을 비교해 보겠습니다.
개요
- ✅ - 완전 지원
- 🟡 - 부분 지원
- ❌ - 지원 안 함
기능 | WXT | Plasmo | CRXJS |
---|---|---|---|
모든 브라우저 지원 | ✅ | ✅ | 🟡 [1] |
MV2 지원 | ✅ | ✅ | 🟡 [2] |
MV3 지원 | ✅ | ✅ | 🟡 [2] |
확장 프로그램 ZIP 생성 | ✅ | ✅ | ❌ |
Firefox 소스 ZIP 생성 | ✅ | ❌ | ❌ |
퍼스트클래스 TypeScript 지원 | ✅ | ✅ | ✅ |
엔트리포인트 자동 탐지 | ✅ [3] | ✅ [3] | ❌ |
인라인 엔트리포인트 설정 | ✅ | ✅ | ❌ [4] |
자동 임포트 | ✅ | ❌ | ❌ |
재사용 가능한 모듈 시스템 | ✅ | ❌ | ❌ |
모든 프론트엔드 프레임워크 지원 | ✅ | 🟡 [5] | ✅ |
프레임워크별 엔트리포인트 (예: Popup.tsx ) | 🟡 [6] | ✅ [7] | ❌ |
자동화된 배포 | ✅ | ✅ | ❌ |
원격 코드 번들링 (Google Analytics) | ✅ | ✅ | ❌ |
비공개 HTML 페이지 | ✅ | ✅ | ✅ |
비공개 스크립트 | ✅ | ❌ | ❌ |
ESM 콘텐츠 스크립트 | ❌ [8] | ❌ | ✅ |
개발 모드 | |||
.env 파일 | ✅ | ✅ | ✅ |
확장 프로그램 설치된 브라우저 열기 | ✅ | ❌ | ❌ |
UI HMR | ✅ | 🟡 [9] | ✅ |
HTML 파일 변경 시 리로드 | ✅ | 🟡 [10] | ✅ |
콘텐츠 스크립트 변경 시 리로드 | ✅ | 🟡 [10] | ✅ |
백그라운드 변경 시 리로드 | 🟡 [10] | 🟡 [10] | 🟡 [10] |
콘텐츠 스크립트 run_at 설정 준수 | ✅ | ✅ | ❌ [11] |
내장 래퍼 | |||
스토리지 | ✅ | ✅ | ❌ [12] |
메시징 | ❌ [12] | ✅ | ❌ [12] |
콘텐츠 스크립트 UI | ✅ | ✅ | ❌ [12] |
I18n | ✅ | ❌ | ❌ |
v2.0.0-beta.23
기준, v2 안정 버전은 아직 출시되지 않음. ↩︎엔트리포인트 옵션은 모두
manifest.json
에서 설정. ↩︎React, Vue, Svelte만 지원. ↩︎
.html
,.ts
,.tsx
. ↩︎.html
,.ts
,.tsx
,.vue
,.svelte
. ↩︎진행 중, 매우 느리게 진행 중. 업데이트는 wxt-dev/wxt#357에서 확인 가능. ↩︎
React만 지원. ↩︎
ESM 스타일 로더는 비동기로 실행. ↩︎
이 API에 대한 내장 래퍼가 없음. 하지만
chrome
/browser
전역 변수를 통해 표준 API에 접근하거나 서드파티 NPM 패키지를 사용할 수 있음. ↩︎ ↩︎ ↩︎ ↩︎