최종 수정일 : 2021년 8월 28일
!주의 이 문서는 유익하지 않습니다(?).
allowUmdGlobalAccess
baseUrl
module
moduleResolution
noResolve
paths
resolveJsonModule
rootDir
rootDirs
typeRoots
types
내부 모듈 파일에서 전역 UMD에 엑세스 할 수 있습니다.
웹 프로젝트처럼 import로 접근할 수 없는 프로젝트에서 특정 라이브러리(jQuery, Lodash같은)를 이용할 때 이 플래그를 사용합니다.
절대 경로를 이용하기 위해 기본 디렉토리를 지정합니다.
이 프로젝트에서 "baseUrl": "./"
을 사용하면, TypeScript는 tsconfig.json
과 같은 폴더에서 시작하는 파일을 찾습니다.
모듈 시스템을 설정합니다. 자세한 정보는 Modules 레퍼런스 페이지 참고하세요.
보통은 commonjs
를 사용합니다.
module
을 변경하면 moduleResolution
에 영향을 줍니다. 자세한건 Module Resolution 레퍼런스 페이지 를 참고하세요.
Typescript 1.6 이하에서는 classic
이 사용되었습니다.
최신버전을 이용하신다면 classic
을 사용하실 필요가 없습니다.
AMD, UMD, System, ES6 를 사용시 classic
.
그 외에는 node
입니다.
자세한건 Module Resolution 레퍼런스 페이지 를 참고하세요.
기본적으로 TypeScript는 import
및 <reference
지시문에 대한 초기 파일 세트를 검사하고 이러한 확인된 파일을 프로그램에 추가합니다.
noResolve
가 설정되어 있으면 이 프로세스가 발생하지 않습니다. 그러나, import
문은 여전히 유효한 모듈인지 확인하기 위해 검사되므로, 다른 방법으로 이것이 충족되는지 확인해야 합니다.
baseUrl
의 경로로부터 import
시 패키지의 위치를 다시 매핑하는 작업으로, handbook에 paths
를 참고하세요.
paths
를 사용하면 require/import
에서 패키지의 경로를 직접 설정할 수 있습니다.
이렇게 하면 import "jquery"
가 가능합니다.
이렇게 하면 custom prefix로 코드를 찾을 수 있도록 지원합니다. codebase 안에서 긴 상대 경로를 피할 수 있습니다.
확장자가 .json
인 파일을 import 할 수 있습니다.
Default: tsconfig.json
파일이 있는 위치.
rootDir: "."
으로 설정할 시 tsconfig.json
파일이 있는 위치로 지정됩니다.
rootDir
에 지정한 경로 외부의 파일은 outDir
에 포함하지 않으므로 컴파일 시 필요한 파일들은 모두 rootDir
의 경로 아래에 위치해야 합니다.
rootDir
외부에 있는 파일을 import
하는 경우 컴파일 에러가 발생합니다.
rootDir
처럼 취급 할 경로들을 지정합니다.
기본값은 node_modules/@types
으로 간주되는 모든 패키지들을 포함합니다.
./node_modules/@types/
, ../node_modules/@types/
, ../../node_modules/@types/
등의 패키지를 의미합니다.
typeRoots
를 지정하게 되면 해당 경로에 있는 패키지만을 컴파일 시 포함하게 됩니다.
위 설정은 ./typings
, ./vendor/types
경로의 패키지들만 포함합니다.
./node_modules/@types
경로의 패키지는 포함하지 않습니다.
경로는 tsconfig.json
파일의 위치를 기준으로 합니다.
기본값은 node_modules/@types
으로 간주되는 모든 패키지들을 포함합니다.
./node_modules/@types/
, ../node_modules/@types/
, ../../node_modules/@types/
등의 패키지를 의미합니다.
types
에 지정하면 해당 패키지만 global scope에 포함됩니다.
./node_modules/@types/node
, ./node_modules/@types/jest
, ./node_modules/@types/express
이 패키지만 global scope에 포함됩니다.
node_modules/@types/*
의 다른 패키지들은 포함되지 않습니다.
process
, Jest의 expect
)
types
는 특정 패키지만을 대상으로 하고,typeRoots
는 경로를 대상으로 한다는 점에서 다릅니다.