ES Modules
현재 ESM(ES Modules) 진입점은 선택 사항입니다. 따라서 각 진입점을 이에 맞게 설정해야 합니다.
HTML 페이지 ≥0.0.1
일반적으로 오래된 브라우저를 지원해야 하는 경우를 제외하고는 항상 HTML 페이지가 ESM 스크립트를 가져오도록 해야 합니다.
스크립트를 ESM으로 만들려면 type="module"
을 추가하세요:
html
<script src="./main.ts"></script>
<script src="./main.ts" type="module"></script>
백그라운드 ≥0.16.0
백그라운드 스크립트에서 type: "module"
을 설정하세요:
ts
export default defineBackground({
type: 'module',
main() {
// ...
},
});
WARNING
MV3만 ESM 백그라운드 스크립트/서비스 워커를 지원합니다. MV2를 대상으로 할 때는 type
옵션이 무시되고, 백그라운드 스크립트는 항상 IIFE로 단일 파일에 번들링됩니다.
콘텐츠 스크립트
WXT는 아직 ESM 콘텐츠 스크립트에 대한 내장 지원을 포함하고 있지 않습니다. 번들 크기를 줄이기 위해 청킹(chunking) 지원을 추가할 계획이지만, 현재로서는 HMR(Hot Module Replacement)을 지원하지 않습니다. HMR에 대한 일반적인 솔루션을 구현하는 데는 여러 기술적 문제가 있어 불가능합니다. 자세한 내용은 Content Script ESM Support #357을 참조하세요.
만약 기다릴 수 없고 지금 당장 ESM 지원이 필요하다면, 수동으로 ESM 지원을 구현할 수 있습니다. 시작하려면 ESM Content Script UI 예제를 참조하세요.