tsconfig.json : compilerOptions 살펴보기

2024. 11. 10. 11:52·TypeScript
반응형

TypeScript 프로젝트를 구성할 때 가장 중요한 파일은 tsconfig.json입니다. 이 파일에는 TypeScript 컴파일러의 동작을 제어하는 다양한 설정 옵션이 정의되어 있습니다. 이번 포스팅에서는 tsconfig.json의 compilerOptions 섹션을 자세히 살펴보도록 하겠습니다.

compilerOptions 설정 옵션

compilerOptions 섹션에는 TypeScript 컴파일러의 동작을 제어하는 다양한 설정 옵션이 포함되어 있습니다. 주요 옵션들은 다음과 같습니다:

  1. target: 생성할 JavaScript 코드의 ECMAScript 버전을 지정합니다. 일반적으로 es5, es6, es2015, es2016, es2017, es2018, es2019, es2020, es2021 등의 값을 사용합니다.
  2. module: 생성할 모듈 시스템의 형식을 지정합니다. commonjs, amd, system, umd, es6, es2015 등의 값을 사용할 수 있습니다.
  3. lib: 컴파일 시 사용할 기본 라이브러리 집합을 지정합니다. 일반적으로 dom, es6, es2015.promise, es2016, es2017, es2018, es2019, es2020, es2021 등의 값을 사용합니다.
  4. allowJs: JavaScript 파일을 컴파일 대상에 포함할지 여부를 지정합니다.
  5. checkJs: JavaScript 파일에서 TypeScript 오류 검사를 수행할지 여부를 지정합니다.
  6. jsx: JSX 구문 지원 여부와 생성할 JavaScript 코드의 형식을 지정합니다. react, react-native, preserve 등의 값을 사용할 수 있습니다.
  7. declaration: 각 모듈에 대한 .d.ts 선언 파일을 생성할지 여부를 지정합니다.
  8. declarationMap: .d.ts 파일에 소스 맵을 생성할지 여부를 지정합니다.
  9. sourceMap: 디버깅을 위한 소스 맵 파일을 생성할지 여부를 지정합니다.
  10. outDir: 컴파일된 JavaScript 파일의 출력 디렉토리를 지정합니다.
  11. outFile: 모든 입력 파일을 단일 JavaScript 파일로 컴파일할지 여부와 출력 파일 경로를 지정합니다.
  12. rootDir: 입력 파일의 루트 디렉토리를 지정합니다.
  13. removeComments: 컴파일된 JavaScript 파일에서 주석을 제거할지 여부를 지정합니다.
  14. noEmit: 컴파일된 JavaScript 파일을 생성하지 않도록 지정합니다.
  15. strict: 엄격한 타입 검사 옵션들을 활성화할지 여부를 지정합니다.
  16. esModuleInterop: ES6 모듈 시스템과 CommonJS 모듈 시스템의 상호 운용성을 활성화합니다.
  17. baseUrl, paths, rootDirs: 모듈 해석 규칙을 사용자 정의할 수 있는 옵션들입니다.

이 외에도 다양한 설정 옵션이 있으며, 프로젝트의 요구 사항에 따라 적절히 구성하면 됩니다.

tsconfig.json 예시

다음은 tsconfig.json 파일의 예시입니다:

{
  "compilerOptions": {
    "target": "es6",
    "module": "commonjs",
    "outDir": "dist",
    "strict": true,
    "esModuleInterop": true
  },
  "include": ["src/**/*"]
}

이 설정에서는 다음과 같은 동작이 이루어집니다:

  • 타겟 ECMAScript 버전은 ES6
  • 모듈 시스템은 CommonJS
  • 컴파일된 JavaScript 파일은 dist 디렉토리에 출력
  • 엄격한 타입 검사 옵션 활성화
  • ES6 모듈과 CommonJS 모듈의 상호 운용성 활성화
  • src 디렉토리 아래의 모든 파일을 컴파일 대상으로 포함

이처럼 tsconfig.json의 compilerOptions 섹션은 TypeScript 프로젝트의 다양한 동작을 제어할 수 있는 강력한 기능을 제공합니다. 프로젝트의 요구 사항에 맞게 적절히 설정하여 TypeScript 개발 환경을 최적화할 수 있습니다.

저작자표시 비영리 변경금지 (새창열림)

'TypeScript' 카테고리의 다른 글

[Next.js 실전] Image 컴포넌트로 웹 성능 최적화하기  (0) 2024.11.18
[React 최적화] 메모이제이션 완벽 가이드 - useMemo, useCallback, React.memo 실전 활용법  (1) 2024.11.17
데이터베이스 API 구현하기 : SQLite와 타입 안전성  (7) 2024.11.17
React에서 Tailwind CSS 활용하기  (1) 2024.11.15
React 프로젝트 구조 및 VSCode 확장 프로그램 추천  (4) 2024.11.14
'TypeScript' 카테고리의 다른 글
  • [React 최적화] 메모이제이션 완벽 가이드 - useMemo, useCallback, React.memo 실전 활용법
  • 데이터베이스 API 구현하기 : SQLite와 타입 안전성
  • React에서 Tailwind CSS 활용하기
  • React 프로젝트 구조 및 VSCode 확장 프로그램 추천
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (725)
      • 스마트팜 (0)
      • 상품 추천 (223)
      • MongoDB (4)
      • 하드웨어 (17)
      • 일기장 (4)
      • 파이썬 (130)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    리뷰관리
    믈레코비타멸균우유
    unity
    긴유통기한우유
    카페24리뷰
    learntocode
    list
    rtsp
    리뷰이관
    셀레니움
    programmerlife
    상품 리뷰 크롤링
    카페24리뷰이관
    codingcommunity
    라떼우유
    devlife
    Python
    appdevelopment
    C#
    쇼핑몰리뷰
    리스트
    스크립트 실행
    유니티
    파이썬
    ipcamera
    cv2
    codingtips
    스크립트 실행 순서
    스마트스토어리뷰
    programming101
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
tsconfig.json : compilerOptions 살펴보기
상단으로

티스토리툴바