Skip to content

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 타입 에러처리

  • 구체적인 타입을 결정하도록 한다.
Clone this wiki locally