-
Notifications
You must be signed in to change notification settings - Fork 6
tsconfig.json
hi0826 edited this page Nov 19, 2020
·
2 revisions
📌 tsconfig.json에 설정한 옵션들의 의미 (옵션 추가 시 설명 추가)
✏️ allowJS : js, jsx파일을 컴파일 대상으로 지정해준다.
- 타입스크립트 프로젝트에서 기본적으로 js파일을 허용하지 않는데, 이 옵션을 통해 허용해 줄 수 있다.
- 일반적으로 js를하다가 ts로 넘어오는 경우가 많기 때문에, 점진적으로 변경하기 위해서는 allowJS 옵션이 유용하다.
(이 옵션이 없으면 js파일이 10000개라고 할 때 모두 ts로 바꾸기 전까지 다음 배포가 불가능해진다.)
✏️ baseUrl : 기본 경로를 설정해줄 수 있다.
✏️ checkJS : js파일의 오류를 보고해준다.
- allowJS와 함께 사용된다.
✏️ esModuleInterop : commonJS 모듈을 사용한 파일을 es6 모듈 코드베이스 즉, import하여 사용하려 할 때 true로 설정
- ES6 모듈 사양을 준수하여 CommonJS 모듈을 가져올 수 있게 된다.
- 위험한 설정이라고 들었지만, 사용사례도 많이 보인다.
✏️ jsx : 타입스크립트가 ts를 js로 , tsx를 jsx로 바꿔주도록 하는 것
- tsx파일을 jsx로 바꿔주기 위한 옵션
✏️ sourceMap : 소스맵 파일 생성
✏️ lib : 컴파일에 포함할 라이브러리 파일 목록을 적어 주는 옵션.
- 사용하는 문법 버전을 이 lib 목록에 추가해주어야 한다.
✏️ outDir : 빌드된 파일을 넣을 경로
✏️ target : 빌드된 파일이 어떤 표준을 따를지 결정
- nodejs에서 돌릴거라면 import가 제대로 지원되지 않기 때문에 es5이하로 설정하는 것이 좋다고 한다.
✏️ module : ie를 지원하려면 commonJS를 많이 사용한다고 한다.
- commonJs와 ES가 있는데, 대부분 commonJs가 될 것이고 최신 문법만 사용할거면 ES6도 된다.
✏️ include : 어떤 파일을 컴파일 할지
✏️ exclude : 컴파일 하지 않을 파일
✏️ forceConsistentCasingFileNames : 파일명에 대소문자 구분하지 않아도 되는 기능 사용 여부
- 파일 이름에 일관된 casing 강제 적용한다고 볼 수 있다.
✏️ allowSyntheticDefaultImports : export default 를 export 한 값들을 가지는 객체로 설정한다.
- export class AccountBook하면, export default {AccountBook}가 기본 적으로 설정된다.
✏️ noImplicitAny : any 타입 에러처리
- 구체적인 타입을 결정하도록 한다.