[TS] 타입스크립트 컴파일러 옵션 알아보기

2024. 2. 15. 17:44· Front-end/TypeScript

 

1. 컴파일러 옵션이란?

  • 타입스크립트의 컴파일은 코드에 타입 오류가 있는지 없는지 검사한 뒤 자바스크립트로 변환한다. 이 과정에서 얼마나 엄격한 타입 오류를 검사할 건지 또는 컴파일 결과 생성되는 자바스크립트 코드의 버전은 어떻게 할 것인지 등의 세부적인 사항들을 컴파일러 옵션이라고 한다. 
  • 컴파일러 옵션은 개발자 자신의 스타일에 따라 자유롭게 변경할 수 있다. 
  • 즉, 내가 진행하는 프로젝트 특성에 맞게 맞춤 설정을 할 수 있다. 

 

2. 컴파일러 옵션 자동 생성하기

  • vite, cra 등을 사용하면 자동으로 설치된다. 
  • 만약 그렇지 않다면 아래 명령어를 통해 기본 설정이 완료된 tsconfig.json 파일을 생성할 수 있다. 
tsc --init

 

3. 컴파일러 옵션 직접 설정하기

{
  // 여기 입력된 값들은 모두 기본값
  // 따로 입력하지 않으면 여기에 있는 값 그대로 입력됨!

  // 컴파일러 옵션 지정
  "compilerOptions": {
    // 컴파일될 ES(JS) 버전 명시 - "ES2015"(ES6) 권장
    // ES6지만 연도로 입력하는 걸 권장
    "target": "ES3",
    // 모듈 시스템 지정 - "commonJS", "AMD", "ESNext"(ESM)
    "module": "commonJS",
    // 컴파일 결과, 생성할 자바스크립트 코드의 위치
    "outDir": "dist"
    // 모듈 해석 방식 지정 - "Node", "classic"
    "moduleResolution": "Node",
    // ESM 모듈 방식 호환성 활성화 여부
    "esModuleInterop": false,
    // 모든 파일을 모듈로 컴파일, import 혹은 export 키워드 필수
    "isolatedModule": false,
    // 모듈 해석에 사용할 기준 경로 지정
    "baseUrl": "./",
    // 컴파일러가 참조할 타입 선언(d.ts)의 경로를 지정
    "typeRoots": ["./node_modules/@type"],
    // 컴파일에서 사용할 라이브러리 지정 - "ESNext", "DOM"
    "lib" : [],
    // 더엄격한 타입 검색 활성화
    "strict": false,
    // 암시적 any 타입 검사 활성화
    "noImplicitAny": false,
    // 암시적 this 타입 검사 활성화
    "noImplicitThis": false,
    // 엄격한 Nullish 타입 검사 활성화
    "strictNullChecks": false,
    // 엄격한 함수의 매개변수 타입 검사 활성화
    "strictFunctionType": false,
    // 엄격한 클래스의 속성 초기화 검사 활성화
    "strictPropertyInitial": false,
    // 엄격한 bind, call, apply 메소드의 인수 검사 활성화
    "strictBindCallApply": false,
    // 모든 타입스크립트 파일을 로컬 모듈(독립 모듈)로 취급
    "moduleDetection": "force",
  }

  // 컴파일할 파일 경로 목록
  // 자바스크립트로 변환이 필요한 타입스크립트의 경로를 작성
  "include": [
    "src/**/*.ts"
  ],
  // 컴파일에서 제외할 파일 경로 목록
  "exclude": [
    "node_modules"
  ]
}

 

 

📌 

한 입 크기로 잘라먹는 타입스크립트(TypeScript)

 

저작자표시 (새창열림)

'Front-end > TypeScript' 카테고리의 다른 글

[TS] 타입을 추론하고... 단언하고... 좁히고...  (0) 2024.02.19
[TS] 타입 별칭(type) vs 인터페이스(interface)  (1) 2024.02.18
[TS] 타입은 집합이다?  (1) 2024.02.17
[TS] 타입스크립트의 기본 타입  (0) 2024.02.16
[TS] 꼭 타입스크립트를 사용해야 할까?  (0) 2024.02.14
'Front-end/TypeScript' 카테고리의 다른 글
  • [TS] 타입 별칭(type) vs 인터페이스(interface)
  • [TS] 타입은 집합이다?
  • [TS] 타입스크립트의 기본 타입
  • [TS] 꼭 타입스크립트를 사용해야 할까?
개발중인제이
개발중인제이
개발중인제이
제이로그
개발중인제이
전체
오늘
어제
  • 분류 전체보기 (100)
    • 기록 (6)
      • 회고 (1)
      • TIL (4)
      • 일상 (0)
      • 리뷰 (1)
    • Web (4)
    • Front-end (81)
      • HTML & CSS (4)
      • JavaScript (9)
      • 모던자바스크립트 (14)
      • React (21)
      • Next (6)
      • TypeScript (11)
      • git & github (2)
      • etc (14)
      • 프로젝트 (0)
    • Back-end (0)
    • 알고리즘 & 자료구조 (0)
    • 패스트캠퍼스 (8)
    • 기타 (1)

블로그 메뉴

  • 홈
  • 글쓰기
  • 관리

공지사항

인기 글

최근 글

hELLO · Designed By 정상우.v4.2.2
개발중인제이
[TS] 타입스크립트 컴파일러 옵션 알아보기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.