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
noEmit
{
"compilerOptions": {
"noEmit": true
}
}
- 타입스크립트 컴파일러가 컴파일 후 자바스크립트 파일이나 소스맵, 타입 선언 파일을 생성하지 않게 한다
- babel 같은 트랜스파일러가 자바스크립트 파일들을 생성하도록 한다