티스토리 뷰

현상

CRA with typescript로 만든 프로젝트에서 eslint랑 prettier 설정을 한 상황.
그런데 라이브러리에서 인터페이스를 임포트 하려는데, 그런 건 찾을 수가 없다며 eslint의 import/named 에러가 발생한다. 분명 그 위치에 인터페이스가 존재하는 것도 맞고, vscode도 그걸 인지하고 있는데 왜 eslint가 못찾겠다고 하는지 계속 헤맸다. .eslintignore에 node_modules를 추가 안해서 그런가 했는데 어차피 기본적으로 무시하게 되어 있다고 한다. (https://eslint.org/docs/user-guide/configuring/ignoring-code#the-eslintignore-file)

해결

깃헙 이슈와 스택오버플로우에서 workaround를 찾았다.

  1. type으로 import 하기

    import type { SomeInterface } from 'SomeLibrary' 

    이렇게 하니 감쪽 같이 에러가 사라진다. 이 이슈의 마지막 코멘트를 참조했다.

  2. .eslintrc.json 에서 extends 에 플러그인 추가하기

    {
    "extends": [
         "plugin:import/typescript"
         ]
    }

    import/typescript 추가하니 해결되었다. 출처는 스택오버플로우

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함