tsconfig.json

수빈·2023년 2월 14일
0

TypeScript

목록 보기
6/7

compileOnSave

파일을 저장하면 바로 컴파일해주며, 최상단에 작성해야한다.

files,include, exclude

files또는 include 프로퍼티가 없다면 컴파일러는 모든 파일을 컴파일한다.
exclude에있는 파일이더라도 files에 있다면, 컴파일하게된다.
include에 있는 파일들은 exclude에 작성하면 컴파일이 제외된다.
exclude설정을 안할경우, 기본으로 node_modules, outDir 등을 제외한다.

compileOptions (typeRoots, types)

아무 설정 안할경우(기본설정) :node_modules/@types모든 경로를 찾아서 사용해준다.

@types : 배열안에 있는 경로들 아래서만 가져온다.

types : 배열안 또는 ./node_modules/@types/안의 모듈 이름에서 찾아온다.
[] 빈배열은 사용하지 않겠다는 의미이다.

typeRoots 와 types를 같이 사용하지 않는다.

// npm i react 
import react from "react"
// .ts를 사용할경우 react가 type선언이 되어있지 않아 오류가 생긴다.
// npm i -D @types/react
npm i @types/react 
// .ts로 작성할 경우 node_modules/@types에 react로 경로가 지정되어 오류가 안생긴다.

compileOptions (target, lib)

target

: 기본값은 es3로 되어있으며, 어떤 버전으로 컴파일할지 결정한다.

lib

: 기본 type definition라이브러리를 어떤 것을 사용할지 지정한다.
기본으로 lib.d.ts를 사용한다.

// 빈 배열의 lib를 사용할경우
console.log("typescript"); // 오류가 생긴다.

compileOptions (outDir, outFile, rootDir)

outDir

: 컴파일 후 생성되는 js파일이 생성될 폴더이름

outFile

: 컴파일 후 생성되는 단일 파일의 이름을 설정한다.

rootDir

: 컴파일 시작하는 시작점을 설정한다.

compileOptions (strict)

엄격하게 타입을 검사하는 옵션이다.
noImplicitAny : 타입추론을 실패한경우any를 사용, 명시해주어야한다.
noImplicitThis : this표현식에 사용하면 에러를 발생한다.
함수의 첫번째 매개변수 자리에 this를 작성하며, this는 any로 지정해 사용한다.
strictNullChecks : null, undefined값이 모든 유형에 속하지 않는다.
예외로 undefined에 void할당이 가능하다.
strictFunctionTypes : 함수가 반공변적으로만 동작하도록 맞춰주기 위해 사용한다.
strictPropertyInitialization : 정의되지 않은 클래스의 속성이 생성자에서 초기화 되었는지 확인한다. 이 옵션을 사용하기 위해서는 stritNullChecks를 사용하도록 설정해야한다.
strictBindCallApply
alwaysStrict

0개의 댓글

관련 채용 정보