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'