ESM과 CommonJS 상호운용

오픈소스·2022년 6월 18일
0
post-thumbnail

http://kyobo.link/pILi, 2-7

ESM에서는 ES 모듈이 strict mode에서 실행되기 때문에 require, export, module.exports, __filename 그리고 __dirname 을 포함하여 CommonJS의 몇 가지 중요한 참조가 정의되지 않습니다.

__filename과 __dirname를 재구성

import { fileURLToPath } from 'url'
import { dirname } from 'path'
const __filename = fileURLToPath(import.meta.url)
const __dirname = dirname(__filename)

ESM 내부에 CommonJS 모듈을 임포트

import { createRequire } from 'module'
const require = createRequire(impot.meta.url)

ESM에서 표준 import 문법을 사용하여 CommonJS 모듈을 임포트 (default exports에 한정)

import packageMain from 'commonjs-package'

0개의 댓글