2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

compilerOptions

작성: sangseek | 게시 날짜: 2026/01/05 | 조회수: 51
[ 편집불가 ]

'compilerOptions'는 주로 TypeScript 프로젝트의 설정 파일인 tsconfig.json에 들어가는 속성으로, TypeScript 컴파일러(tsc)가 코드의 검사 방식과 출력물(번들 아님, 트랜스파일 결과)을 어떻게 만들지 결정하는 옵션들을 모아놓은 객체입니다. 한마디로 "컴파일러 동작과 생성물에 관한 모든 설정"이라고 생각하면 됩니다. 주요 역할과 특징 - 코드 변환(타깃) 지정: 어떤 ECMAScript 버전으로 트랜스파일할지(target), 모듈 시스템(module)을 결정합니다. - 출력 제어: 출력 디렉터리(outDir), 소스맵(sourceMap), 선언 파일(.d.ts) 생성(declaration) 등 결과물의 형태를 설정합니다. - 타입 검사 강도 설정: strict, noImplicitAny, strictNullChecks 등으로 타입 체킹의 엄격도를 조절합니다. - 모듈 해석 및 상호 운용성: moduleResolution, esModuleInterop, allowSyntheticDefaultImports, resolveJsonModule 등으로 모듈을 찾는 방식과 CommonJS/ESM 상호호환성을 관리합니다. - 성능 및 빌드 모드: incremental, composite, tsBuildInfoFile 같은 옵션으로 증분 빌드나 프로젝트 레퍼런스를 활용할 수 있습니다. - 편의/특수 기능: allowJs(자바스크립트 포함), checkJs(자바스크립트 타입 검사), experimentalDecorators, emitDecoratorMetadata(데코레이터 관련) 등. 자주 쓰이는 옵션(설명) - target: 'ES5' | 'ES6' | 'ES2017' 등 — 출력할 JS의 표준 레벨. - module: 'commonjs' | 'esnext' 등 — 생성할 모듈 형식. - outDir: 컴파일된 파일(.js 등)을 저장할 디렉터리. - rootDir: 소스 파일의 루트 디렉터리(출력 구조 제어). - strict: 모든 엄격 모드 옵션(strictNullChecks 등)을 한꺼번에 켬. - noImplicitAny: any 타입이 암묵적으로 부여되는 것을 금지. - strictNullChecks: null/undefined 취급을 엄격하게 함. - sourceMap: 소스맵(.map) 생성 여부. - declaration: .d.ts 타입 선언 파일 생성 여부. - esModuleInterop: CommonJS 모듈을 ES 모듈처럼 import할 수 있게 함 (interop 헬퍼 적용). - moduleResolution: 모듈 해석 전략(Node 또는 Classic). - baseUrl / paths: 모듈 경로 별칭 및 해석 베이스 설정. - skipLibCheck: 라이브러리 선언(.d.ts) 파일들의 타입 체크 건너뜀(빌드 속도 향상). - incremental / tsBuildInfoFile: 증분 빌드 정보를 저장해 다음 빌드 속도 향상. - resolveJsonModule: .json 파일을 import할 수 있게 함. - jsx: React 프로젝트 등에서 JSX 처리 방식('react', 'react-jsx' 등). 옵션 적용 관계와 우선순위 - tsconfig.json의 compilerOptions가 기본 설정이며, CLI로 tsc 실행 시 명령줄 옵션이 tsconfig 설정을 덮어쓸 수 있음. - 여러 tsconfig를 확장할 때("extends") 상속으로 옵션을 재사용/재정의 가능. - 프로젝트 레퍼런스(composite)와 incremental 설정은 대규모 프로젝트에서 빌드 관계와 속도에 영향을 줌. 실무 팁 - 대부분의 프로젝트는 strict 모드를 켜는 것이 유지보수성과 안정성에 유리함. - 라이브러리(패키지)를 작성할 때는 declaration을 생성하도록 설정. - 빌드 성능 문제 시 skipLibCheck, incremental 등을 고려. - 에디터(예: VS Code)는 tsconfig.json의 compilerOptions를 읽어 자동 완성과 타입 검사를 제공하므로 일관된 설정 유지가 중요. 요약 compilerOptions는 TypeScript 컴파일러의 동작(어떤 JS를 생성할지, 타입 검사 수준, 모듈 해석 방법 등)을 결정하는 핵심 설정 블록으로, 프로젝트 전체의 빌드 출력과 타입 검사 규칙을 제어합니다.
내용이 부정하다면 싫어요를 누르세요.