프로그래밍 공부하기

Jest에서 ES6 모듈 사용하기 (Expriemental Suport) 본문

ErrorLog

Jest에서 ES6 모듈 사용하기 (Expriemental Suport)

ihl 2021. 9. 4. 20:29

Jest Error

  Jest에서 ES6 모듈(import-export)를 사용하면 위와 같은 오류가 발생한다. 이 방법을 해결하기 위해선 2가지 방법이 있다.

 

  • Babel 사용하기
  • Jest 의 Expremental Support 사용하기

 

  첫 번째는 Babel을 활용하여 코드는 ES6로 작성하되, 실행 시에는 Common JS 모듈로 변경하는 것이다. 이 방법은 이미 프로젝트에서 Babel을 사용하고 있다면 상관없겠지만, Babel을 사용하지 않고 있던 나의 입장에서 번거로운 일이었다. 따라서 이 방법은 사용하지 않았다.

 

{
  "name": "tester",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js"
  },
  "type": "module",
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "jest": "^27.1.0"
  }
}

  두 번째는 Jest@25.4.0 부터 지원하는 옵션을 사용해보는 것이다. 이 방법은 Babel과 같은 추가적인 라이브러리 설치가 필요하지 않고, 위와 같이 script 를 변경해주기만 하면 된다!

 

JEST ECMAScript 모듈 지원 문서: https://jestjs.io/docs/ecmascript-modules#differences-between-esm-and-commonjs

Comments