[Next] 4일차 tsconfig

nearworld·2024년 2월 12일
0

NextJS

목록 보기
4/8

tsconfig

module

{
  "compilerOptions": {
    "module": "ESNext"
  }
}
  • 모듈 방식을 어떤 것을 선택할지 결정
  • CommonJS, UMD, ESModule 등 이 중에서 결정
  • 자바스크립트 버전으로 어떤 모듈 방식이 적용되는지 결정
  • moduleResolution 속성에 영향을 미침

moduleResolution

{
  "compilerOptions": {
    "moduleResolution": "bundler"
  }
}
  • 모듈 import가 어떠한 알고리즘으로 지정된 경로의 파일을 찾을지 결정
  • 만약 webpack 같은 번들러를 사용하고 있는 경우라면 moduleResolution 값을 bundler로 지정하는걸 추천한다고 한다 (번들러가 모듈 방식을 해석하도록 하는 것으로 이해)

skipLibCheck

{
  "compilerOptions": {
    "skipLibCheck": true
  }
}
  • 라이브러리 중에는 타입이 루즈하게 적용된 경우가 있을 수 있다
  • 이런 경우 타입스크립트는 컴파일중에 에러를 발생시킬 수 있다
  • 만약, skipLibCheck값이 true면 import된 라이브러리 전체를 타입 검사하는 것이 아니라 그 라이브러리에서 직접 사용하고 있는 코드에 대해서만 타입 검사를 하여 에러 확률을 떨어뜨릴 수 있다

strict

{
  "compilerOptions": {
    "strict": true
  }
}
alwaysStrict
strictNullChecks
strictBindCallApply
strictFunctionTypes
strictPropertyInitialization
noImplicitAny
noImplicitThis
useUnknownInCatchVaria
  • strict 값이 true이면 타입 검사를 엄격하게 하게 된다
  • true일 경우 위의 strict 옵션 패밀리에 해당하는 속성들이 활성화된 것과 같은 효과를 보인다
  • 위 타입들의 특징은 아래 링크에서 확인 가능하다
    https://www.typescriptlang.org/tsconfig#strict

noEmit

{
  "compilerOptions": {
    "noEmit": true
  }
}
  • 타입스크립트 컴파일러가 컴파일 후 자바스크립트 파일이나 소스맵, 타입 선언 파일을 생성하지 않게 한다
  • babel 같은 트랜스파일러가 자바스크립트 파일들을 생성하도록 한다
profile
깃허브: https://github.com/nearworld

0개의 댓글