Skip to content

비교 ​

WXT와 Plasmo (다른 프레임워크) 그리고 CRXJS (번들러 플러그인)의 기능을 비교해 보겠습니다.

개요 ​

  • ✅ - 완전 지원
  • 🟡 - 부분 지원
  • ❌ - 지원 안 함
기능WXTPlasmoCRXJS
모든 브라우저 지원✅✅🟡 [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✅❌❌

  1. v2.0.0-beta.23 기준, v2 안정 버전은 아직 출시되지 않음. ↩︎

  2. MV2 또는 MV3 중 하나만 지원. ↩︎ ↩︎

  3. 파일 기반. ↩︎ ↩︎

  4. 엔트리포인트 옵션은 모두 manifest.json에서 설정. ↩︎

  5. React, Vue, Svelte만 지원. ↩︎

  6. .html, .ts, .tsx. ↩︎

  7. .html, .ts, .tsx, .vue, .svelte. ↩︎

  8. 진행 중, 매우 느리게 진행 중. 업데이트는 wxt-dev/wxt#357에서 확인 가능. ↩︎

  9. React만 지원. ↩︎

  10. 전체 확장 프로그램 리로드. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  11. ESM 스타일 로더는 비동기로 실행. ↩︎

  12. 이 API에 대한 내장 래퍼가 없음. 하지만 chrome/browser 전역 변수를 통해 표준 API에 접근하거나 서드파티 NPM 패키지를 사용할 수 있음. ↩︎ ↩︎ ↩︎ ↩︎