lottie
Seungjun's blog
blog
tsconfig.js

  tsconfig.json에서는 타입스크립트 컴파일러 옵션을 설정한다. 여기엔 타입스크립트 ts 파일들을 .js 파일로 변환할 때 어떻게 변환할 것인지 세부설정이 가능하다.

 tsc --init 명령어로 기본적인 tsconfig.json 파일 생성이 가능하다.

{
 // src 폴더 안의 모든 ts파일들을 js로 컴파일 해준다.
 "include": ["src"],
 "compilerOptions": {
		// 컴파일된 파일들을 build라는 폴더에 넣어준다.
		"outDir":"build"
		// 'es6','es2018' 권장 
	  "target": "es6",
		// 어떤 import 문법 쓸건지 'commonjs', 'amd', 'es2015', 'esnext'
	  "module": "commonjs",
		// js 파일들 ts에서 import해서 쓸 수 있는지 
	  "allowJs": true, 
		// 일반 js 파일에서도 에러체크 여부 
	  "checkJs": true,
		// tsx 파일을 jsx로 어떻게 컴파일할 것인지 'preserve', 'react-native', 'react' 
	  "jsx": "preserve",
		// 컴파일시 .d.ts 파일도 자동으로 함께생성 (현재쓰는 모든 타입이 정의된 파일) 
	  "declaration": true, 
		// 모든 ts파일을 js파일 하나로 컴파일해줌 (module이 none, amd, system일 때만 가능)
	  "outFile": "./",
		// js파일 아웃풋 경로바꾸기 
	  "outDir": "./", 
		// 루트경로 바꾸기 (js 파일 아웃풋 경로에 영향줌)
	  "rootDir": "./", 
		// 컴파일시 주석제거 
	  "removeComments": true,
		// strict 관련, noimplicit 관련 모드 전부 켜기
	  "strict": true, 
		// any타입 금지 여부
	  "noImplicitAny": true,
		// null, undefined 타입에 이상한 짓 할시 에러 발생  
	  "strictNullChecks": true, 
		// 함수파라미터 타입체크 강하게 
	  "strictFunctionTypes": true, 
		// class constructor 작성시 엄격한 타입체크 
	  "strictPropertyInitialization": true, 
		// this 키워드가 any 타입일 경우 에러내기
	  "noImplicitThis": true,
		// 자바스크립트 "use strict" 모드 켜기 
	  "alwaysStrict": true, 
		// 쓰지않는 지역변수 있으면 에러 체크
	  "noUnusedLocals": true,
		// 쓰지않는 파라미터 있으면 에러 체크 
	  "noUnusedParameters": true,
		// 함수에서 return 빼먹으면 에러 체크  
	  "noImplicitReturns": true, 
		// switch문 이상하면 에러 체크
	  "noFallthroughCasesInSwitch": true, 
		// 에러가 있을 경우 컴파일 하지 않는 옵션
		"noEmitOnError": true, 
		// 자바스크립트를 허용하는 옵션, 자바스크립트와 타입스크립트를 함께 사용
		"allowJS":true, 
		// 모듈들을 주소를 절대 경로로 수정
		"paths": {          
      "*": ["node_modules/*"]
    }
 }
}


3줄 요약


1. 타입스크립트 컴파일러는 매우 많은 설정을 가지고 있다.


2. 암시적 any 타입을 피하기 위해 noImplicitAny 설정을 고려하자.


3. 엄격한 타입 체크를 원한다면 strict 설정을 고려하자. 사실상 필수다.