tsconfig.json 옵션 톺기

신태일·2024년 10월 16일

TypeScript TSConfig 가이드

{
  "compilerOptions": {
    "target": "es5",
    "lib": ["dom", "dom.iterable", "esnext"],
    "allowJs": true,
    "skipLibCheck": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "noEmit": true,
    "esModuleInterop": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "jsx": "preserve",
    "incremental": true,
    "plugins": [
      {
        "name": "next"
      }
    ],
    "paths": {
      "@/*": ["./src/*"]
    }
  },
  "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
  "exclude": ["node_modules"]
}
  • target: ECMAScript 대상 버전을 지정한다. 타입스크립트를 어떤 버전의 자바스크립트로 변환시킬지 설정.
  • lib: 컴파일에 포함할 라이브러리 지정. 예를 들면 target으로는 “es5” 지만 커스텀하게 컴파일하고 싶다면 위에서처럼 배열 안에 추가할 수 있다.
  • allowJs: JavaScript 파일을 컴파일할 수 있도록 허용
  • skipLibCheck: 모든 선언 파일(’.d.ts’)의 유형 확인을 건너뛴다. 이는 컴파일 시간을 크게 줄일 수 있다.
  • strict: 모든 엄격한 유형 확인 옵션 (’use strict’)을 활성화한다.
  • forceConsistentCashingInFileNames: 가져올 파일의 경우 일관된 대소문자를 갖도록 한다. 예를 들어 파일 이름이 ‘somefile.ts’인 경우에도 ‘SomeFile.ts’를 가져오면 오류가 발생한다.
  • noEmit: 컴파일 중에 출력 파일 생성을 비활성화 시킨다.

.

.

.

  • plugins: TypeScript 컴파일러에서 사용할 플러그인을 지정한다. 여기서는 “next”라는 플러그인을 사용하고 있으며, 이는 Next.js 프로젝트에 특화된 것일 수 있다.
  • paths: 사용자 정의 모듈 해결을 허용한다. 예를 들어 ‘@/’은 ‘src/’ 디렉토리 내의 파일로 해결된다.
  • include: 컴파일에 포함할 파일을 지정한다. 여기서는 TypeScript 및 TypeScript React 파일 뿐만 아니라 ‘.next/types/’ 내의 TypeScript 파일도 포함한다.
  • exclude: 컴파일에서 제외할 파일을 지정한다. 보통 ‘node_modules’ 디렉토리 같은 써드파티 라이브러리는 컴파일 대상에서 제외시키는 편이다.
profile
노원거인

0개의 댓글