tsconfig.json 이란
tsc --init 명령을 실행하면 생성되는 파일로, tsconfig.json 은 TypeScript 프로젝트의 설정 파일이다.
주로 프로젝트의 컴파일 옵션 및 입력파일을 정의하는데 사용 됨.
tsconfig.json 주요 옵션
옵션 매뉴얼
https://www.typescriptlang.org/ko/tsconfig
1. compilerOptions - strict 옵션 - 무조건 true
엄격한 타입 검사 옵션을 모두 활성화 하는 옵션으로, TypeScript 컴파일러가 보다 엄격한 타입 검사를 수행해 코드의 실수를 미리 찾아낼 수 있음. 해당 옵션을 true 로 선택하면 아래의 옵션들도 자동으로 true 가 된다.
- strictNullChecks: 잠재적으로 null(undefined)이 될 수 있는 값들에 대해서 엄격하게 확인하는 옵션
- strictFunctionTypes
- strictBindCallApply
- strictPropertyInitialization
- noImplicitAny : 함수의 인자 또는 변수의 타입이 명시적으로 선언되지 않은 경우에 컴파일러가 자동으로 any타입을 부여하지 않도록 함. 또한, 이 옵션을 활성화하면 개발자가 누락된 타입 선언을 확인하고 명시적으로 타입을 선언할 수 있음.
- noImplicitThis
- alwaysStrict
2. compilerOptions - sourceMap 옵션 - true
컴파일된 JavaScript 파일에 대한 소스 맵을 생성하는 옵션으로, 소스맵을 사용하면 실행 중 에러가 발생했을 때 원래 TypeScript 의 소스코드 위치를 파악할 수 있다. 코드 디버깅에 매우 도움이 되므로 true 로 설정. 그러나 프로덕션 환경에서는 용량 및 성능상의 이유로 sourceMap을 사용하지 않을 수도 있음.
3. compilerOptions - target 옵션
해당 TypeScript 프로젝트 내 코드들이 어떤 JavaScript 버전으로 변환을 할 지 정하는 옵션으로, es2016(=es7) 로 설정하면 E2016 버전으로 컴파일 됨.
최신 브라우저는 보통 ES2016을 지원하니 이렇게 설정하는 것을 추천한다.
그러나, 이것을 정할 때는 TypeScript 가 어느 환경에서 실행되어야 하는지를 고려해서 해야함. 만약 내가 만드는 프로젝트가 레거시한 환경에서 동작해야 한다 -> es5 , 그렇지않으면 es2016
4. compilerOptions - module 옵션
TypeScript 파일을 컴파일 한 후 생성되는 JavaScript 모듈의 형식을 지정한다.
모듈을 가져오고 내보내는 방식을 결정하는 옵션으로 target 옵션과는 독립적인 관계니 프로젝트의 요구사항에 따라 설정.
5. compilerOptions - outDir 옵션
컴파일된 JavaScript 파일이 저장될 출력 디렉터리를 지정. 예를 들어, "outDir" : "dist" 로 설정하면, 컴파일된 파일들이 dist 폴더에 저장
6. include, exclude 옵션
tsc 가 컴파일을 할 때 포함하거나 제외할 파일이나 디렉터리를 지정하는 옵션
- “include": ["src/**/*"] : src 디렉토리 밑의 친구들을 컴파일 하겠다는 의미
- "exclude": ["node_modules", "dist"] : node_modules, dist 디렉토리 밑의 친구들은 컴파일 대상에서 제외하겠다는 의미
'TypeScript' 카테고리의 다른 글
[TypeScript] JavaScript 라이브러리를 TypeScript 에서 사용하기 (0) | 2023.07.25 |
---|---|
[TypeScript] .d.ts 파일 (0) | 2023.07.25 |
[TypeScript] 컴파일러와 tsc (타입스크립트 컴파일러) (0) | 2023.07.25 |
[TypeScript] 맥 TypeScript 개발환경 구축 (0) | 2023.07.25 |
[TypeScript] 타입스크립트 (0) | 2023.07.25 |