[Typescript] tsconfig.json

지난 포스트에서 기본적인 타입스크립트 프로젝트를 만들면서 tsconfig.json 파일을 만들었습니다. 다양한 옵션들이 존재하지만 우리가 필요로 하기에 남겨두었던 옵션 키들에 대해서 알아보고 넘어가겠습니다.


"module": "CommonJS"

동작 대상의 플랫폼을 구분해서 그에 맞는 모듈 방식으로 컴파일하기 위해 지정하는 옵션입니다. Node.js 플랫폼(또는 웹 브라우저 환경을 제외한 환경)에서 구동하기 위해서 CommonJS 방식을 설정해주었습니다. 만약 웹 브라우저 상에서 동작하길 원한다면 AMD(Asynchronous Module Definition) 방식으로 지정해줍니다.


"esModuleInterop": true

패키지 중에는 웹 브라우저의 동작을 위해 AMD 방식으로 구현된 것들이 있습니다. 이런것들은 CommonJS 방식에 혼란을 줄 수 있는데, 이러한 혼란을 줄이고 제대로 동작시키기 위해 esModuleInterop 키 옵션을 true로 설정합니다.


"target": "ES5"

target은 .ts파일을 트랜스파일하여 만들어낼 JS 버전을 설정합니다.


"moduleResolution": "node"

module의 값에 따라 설정되는 옵션입니다. 우리가 사용하는 module의 값은 commonJS이므로, 항상 node가 됩니다. 만약 키값이 amd라면 classic으로 설정합니다.


"outDir": "dist"
"baseUrl": "."

트랜스파일된 파일을 저장하는 디렉토리를 지정합니다. baseURI는 베이스가 되는 디렉토리를 지정하므로 보통 현재 디렉토리를 의미하는 "."을 지정하고, outDir은 baseURI 기준의 하위 디렉토리명을 지정합니다.


"sourceMap": true

이 옵션이 true이면, outDir이 설정된 파일에 .js파일과 .js.map파일이 만들어집니다. 이 .map파일은 변환된 js 코드가 타입스크립트 코드의 어느 부분에 해당하는지 위치를 알려주어 디버깅 용도로 사용됩니다.


"downlevelIteration": true

타입스크립트의 generator 구문 사용을 위해 true로 설정했습니다.


"noImplicitAny": false

타입스크립트는 매개변수에도 타입을 명시해야하는데, f(x, y) 처럼 명시하지 않은 경우 any타입을 넣게 됩니다. 이럴 경우 경고메세지를 출력하게되는데, 이 경고 메세지를 띄우지 않게 해줍니다.

좋은 웹페이지 즐겨찾기