타입스크립트 설정
tsconfig.json 파일
- 입력 파일 없이 tsc 컴파일러를 호출하면 컴파일러는 현재 디렉토리에서부터 시작하여 상위 디렉토리 체인으로
tsconfig.json파일을 검색 - 입력 파일을 지정하면
tsconfig.json파일 무시
최상위 레벨 설정
compilerOptions: 컴파일러 설정 옵션files: 컴파일할 대상 파일에 대한 옵션include: 컴파일할 대상 파일을 패턴으로 정의하는 옵션- 별도로 정의하지 않는 경우 다음 파일 패턴 사용
.ts: js 파일에 대응하는 타입스트립트 파일.tsx: 리액트 jsx 파일에 대응하는 타입스트립트 파일.d.ts: 타입 정의 선언 파일 (Type Definition Declaration File)
- 별도로 정의하지 않는 경우 다음 파일 패턴 사용
exclude: 컴파일에서 제외할 파일을 패턴으로 정의하는 옵션
compilerOptions
rootDir
- 컴파일할 파일이 있는 최상위 디렉토리
- 일반적으로
./src사용
outDir
- 컴파일된 결과물을 출력하는 디렉토리
- 일반적으로
./dist사용 - 디렉토리가 없으면 컴파일시 자동 생성
target
- 어떤 문법에 맞게 결과를 생성할지 지정하는 컴파일 목표
allowJs
- 컴파일할 입력 파일에 자바스크립트 파일을 포함하여 타입스크립트에서도 자바스크립트 파일을 임포트하는 것을 허용할지 여부
sourceMap
- 소스맵 파일을 생성할지 여부
noEmitOnError
- true로 설정하면 에러가 있는 경우 결과물을 출력하지 않음
lib
기능 추가를 위한 옵션
High Level libraries
| 옵션 | 기능 |
|---|---|
| ES5 | Core definitions for all ES5 functionality |
| ES2015 | Additional APIs available in ES2015 (also known as ES6) - array.find, Promise, Proxy, Symbol, Map, Set, Reflect, etc. |
| ES6 | Alias for “ES2015” |
| ES2016 | Additional APIs available in ES2016 - array.include, etc. |
| ES7 | Alias for “ES2016” |
| ES2017 | Additional APIs available in ES2017 - Object.entries, Object.values, Atomics, SharedArrayBuffer, date.formatToParts, typed arrays, - etc. |
| ES2018 | Additional APIs available in ES2018 - async iterables, promise.finally, Intl.PluralRules, regexp.groups, etc. |
| ES2019 | Additional APIs available in ES2019 - array.flat, array.flatMap, Object.fromEntries, string.trimStart, string.trimEnd, etc. |
| ES2020 | Additional APIs available in ES2020 - string.matchAll, etc. |
| ES2021 | Additional APIs available in ES2021 - promise.any, string.replaceAll etc. |
| ES2022 | Additional APIs available in ES2022 - array.at, RegExp.hasIndices, etc. |
| ES2023 | Additional APIs available in ES2023 - array.with, array.findLast, array.findLastIndex, array.toSorted, array.toReversed, etc. |
| ESNext | Additional APIs available in ESNext - This changes as the JavaScript specification evolves |
| DOM | DOM definitions - window, document, etc. |
| WebWorker | APIs available in WebWorker contexts |
| ScriptHost | APIs for the Windows Script Hosting System |
Individual library components
DOM.Iterable
ES2015.Core
ES2015.Collection
ES2015.Generator
ES2015.Iterable
ES2015.Promise
ES2015.Proxy
ES2015.Reflect
ES2015.Symbol
ES2015.Symbol.WellKnown
ES2016.Array.Include
ES2017.object
ES2017.Intl
ES2017.SharedMemory
ES2017.String
ES2017.TypedArrays
ES2018.Intl
ES2018.Promise
ES2018.RegExp
ES2019.Array
ES2019.Object
ES2019.String
ES2019.Symbol
ES2020.String
ES2020.Symbol.wellknown
ES2021.Promise
ES2021.String
ES2021.WeakRef
ESNext.AsyncIterable
ESNext.Array
ESNext.Intl
ESNext.Symbol