
NestJS를 설치하면 프로젝트 루트에 tsconfig.json과 tsconfig.build.json 파일이 생성됩니다. 이 파일들은 TypeScript 컴파일러의 설정을 정의하며, 프로젝트의 빌드 및 개발 환경을 구성하는 데 중요한 역할을 합니다.
tsconfig.json 파일이란?tsconfig.json은 TypeScript 컴파일러(tsc)에게 프로젝트를 어떻게 컴파일할지 지시하는 설정 파일입니다. 이 파일을 통해 컴파일 대상 파일, 출력 디렉토리, 사용하고자 하는 ECMAScript 버전 등을 지정할 수 있습니다.
tsconfig.json 내용{
"compilerOptions": {
"module": "commonjs",
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"target": "ES2021",
"sourceMap": true,
"outDir": "./dist",
"baseUrl": "./",
"incremental": true,
"skipLibCheck": true,
"strictNullChecks": false,
"noImplicitAny": false,
"strictBindCallApply": false,
"forceConsistentCasingInFileNames": false,
"noFallthroughCasesInSwitch": false}
}
"commonjs"commonjs를 사용합니다.true.d.ts)을 생성합니다.truetruetruetruedefault export가 없는 모듈에서 import default 구문을 사용할 수 있게 합니다."ES2021"true"./dist""./"truetruenode_modules 내부의 타입 선언 파일 검사를 건너뜁니다.falsenull과 undefined에 대한 엄격한 검사를 비활성화합니다.falseany로 추론되는 것을 허용합니다.falsebind, call, apply 메서드에 대한 엄격한 검사를 비활성화합니다.falsefalseswitch 문에서 case가 누락되는 것을 허용합니다.tsconfig.build.json 파일이란?tsconfig.build.json은 빌드 시에만 사용되는 설정을 정의합니다. 일반적으로 테스트 파일이나 node_modules 디렉토리를 제외하고 빌드할 때 사용합니다.
tsconfig.build.json 내용{
"extends": "./tsconfig.json",
"exclude": ["node_modules", "test", "dist", "**/*spec.ts"]
}
"./tsconfig.json"tsconfig.json에서 가져옵니다.truetrue["ES2021", "DOM"]true.json 파일을 import할 수 있게 합니다.