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 패키지를 사용할 수 있음. ↩︎ ↩︎ ↩︎ ↩︎