[react/jest] jest에서 konva를 인식하지 못하는 경우 해결 방법.

2021. 11. 27. 16:48· 개발/오늘 배운 지식
반응형

요즘 웹에서 음악을 녹음하고, 편집하는 기능을 구현하고 있다.

그 과정에서 peaks.js를 사용하였는데, 여기에 사용되는 konva라는 라이브러리를 jest가 인식하지 못해서, 원래 잘 돌아가던 테스트케이스도 통과하지 못하는 상황이 발생했다. 이를 해결하는 방법을 기록해본다.

발생한 오류메세지는 아래와 같다.

 ● Test suite failed to run

    Jest encountered an unexpected token

    This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript.

    By default, if Jest sees a Babel config, it will use that to transform your files, ignoring "node_modules".

    Here's what you can do:
     • If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/en/ecmascript-modules for how to enable it.
     • To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
     • If you need a custom transformation specify a "transform" option in your config.
     • If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.

    You'll find more details and examples of these config options in the docs:
    https://jestjs.io/docs/en/configuration.html

    Details:

    /Users/????/?????/?????/frontend/node_modules/konva/lib/index-node.js:1
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import { Konva } from './_FullInternals.js';
                                                                                             ^^^^^^

    SyntaxError: Cannot use import statement outside a module

    > 1 | import Konva from 'konva';
        | ^
      2 | class CustomSegmentMarker {
      3 |   _options: any;
      4 |   _group: any;

      at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1350:14)

이 오류를 해결하려면 package.json에서 jest부분에 다음과 같이 추가하면 된다

"jest"{
  "moduleNameMapper": {
      "^konva": "konva/konva"
    }
}
반응형
저작자표시 비영리 동일조건 (새창열림)

'개발 > 오늘 배운 지식' 카테고리의 다른 글

[FastAPI/Python] FastAPI와 데이터 베이스  (0) 2022.08.08
[FastAPI, Python] FastAPI의 의존성 구현과 주입 방법  (0) 2022.08.06
[django/python] 장고와 pylint 충돌  (0) 2021.11.02
[React Native, TypeScript] svg 파일을 타입스크립트에서 사용하기  (1) 2021.10.24
[CSS FlexBox] Align, Justify  (0) 2021.10.23
'개발/오늘 배운 지식' 카테고리의 다른 글
  • [FastAPI/Python] FastAPI와 데이터 베이스
  • [FastAPI, Python] FastAPI의 의존성 구현과 주입 방법
  • [django/python] 장고와 pylint 충돌
  • [React Native, TypeScript] svg 파일을 타입스크립트에서 사용하기
Woogie2
Woogie2
창업, 개발, AI
Dev In Seoul창업, 개발, AI
반응형
Woogie2
Dev In Seoul
Woogie2
전체
오늘
어제
  • Dev in Seoul (47)
    • 개발 (39)
      • 알고리즘 (5)
      • 오늘 배운 지식 (24)
      • 학교 수업 (9)
    • 경험, 생각, 일상 (1)
      • 스타트업 (0)
    • 학교 (2)
    • Machine Learning (5)
      • AI (4)
      • 논문 리뷰 (1)

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.v4.2.2
Woogie2
[react/jest] jest에서 konva를 인식하지 못하는 경우 해결 방법.
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.