vscode를 통해 루트에서 작업 공간을 열 때 하위 디렉터리의jest 모듈에서 읽을 수 없는 문제 해결 방법

3903 단어 Jesttech

개시하다


TypeScript 증빙 서류 구조의 포장에서 Jest의 테스트 파일을 열 때Cannot find name 'describe'에 나타나는 문제 해결 방법입니다.

과제.


다음으로 구성된 여러 항목은 한 포장에 있습니다.
VSCODE에서 작업공간을 루트로 열 때 jest의 모듈을 읽지 않고 오류가 표시됩니다.
- .vscode
- app1
  - ...
- app2
  - ...
- .prettierrc.js

해결책


스스로 조사하기만 하면 두 가지 해결 방법을 찾을 수 있다.
  • 열린 작업공간app1을 프로젝트의 루트
  • 로 설정
  • tsconfig.json에서test 파일도 구축에 포함
  • 열린 작업 공간을 열고 프로젝트를 app1처럼 루트로 만듭니다


    VSODE가 연 작업공간만 변경됩니다.

    그러나 루트에 .vscode.prettierrc.js 같은 설정 파일을 설치하면 열린 곳을 바꾸면 읽을 수 없습니다.
    이럴 때는 항목별로 기호 링크 등 대책을 세워야 한다.
    또한 이 방법은 다른 항목과 루트 파일을 참고하기 어려운 단점이 있다.

    tsconfig.json에서test 파일도 구축에 포함


    이것은 tsconfig.json의 설정을 바꾸어 대응할 수 있다.루트의 작업 공간에서 열 수 있기 때문에 다른 프로젝트 파일을 쉽게 참고할 수 있습니다.
    다음과 같이 테스트 파일도 구축에 포함될 때 정확하게 읽혔습니다.
    tsconfig.json
    {
      "compilerOptions": {
        "target": "ES2019",
        "module": "commonjs",
        "sourceMap": true,
        "outDir": "./dist",
        "strict": true,
        "esModuleInterop": true,
        "forceConsistentCasingInFileNames": true
      },
      "include": [
        "./src/**/*",
        "__tests__"
      ]
    }
    

    그러나 이렇게 되면 건축물의 성과물에도 필요 없는 테스트 코드가 포함된다.이때의 해결 방법은 tsconfig.jsontsconfig-build.json처럼 구축용config 파일을 따로 만들 수 있다.

    참고 자료


    https://ucwork.hatenablog.com/entry/2018/12/28/101847
    https://stackoverflow.com/questions/57452111/vscode-not-recognizing-types-in-sub-directories

    끝말


    조사할 때 다른 정보가 없어서 총결산을 했습니다.

    좋은 웹페이지 즐겨찾기