728x90
The compilation context
tsconfig.json파일내에 어떤 파일을 컴파일 할것인지 어떤 옵션을 적용할것인지를 정할 수 있다. 또, TypeScript를 파싱하거나 유효성 검증하는 맥락들을 설정할 수 있다.
tsconfig schema
최상위 프로퍼티
- compileOnSave
- extends
- compileOptions
- files
- include
- exclude
- references
- typeAcquisition
- tsNode
compileOnSave 프로퍼티
save를 하게 되면 컴파일을 하게 해준다.
- visual studio 2015 with Typescript 1.8.4이상
- atom-typescript 플러그인
"compileOnSave": true
extends
외부 config파일을 import해주는 역할을 한다.
base.json
{
"compilerOptions" : {
"strict" : true
}
}
tsconfig.json - "strict" :true는 주석처리
"extends": "./base.json"
만약 tsconfig.json에서 extends부분을 주석처리하면 에러가 사라지게 된다.
const a: number = undefined;
files, include, exclude
files
- 경로내에 있는 파일들만 컴파일 하려고 한다.
include
- exclude보다 약합니다.
- * 사용하면, .ts, .tsx, .d.ts만 include
exclude
- 설정 안하면 4가지(node_modules, bower_components, jspm_packages, <outDir>)를 default로 제외합니다.
- include에 있어도 <outDir>은 항상 제외한다.
셋다 설정이 없으면, 전부 다 컴파일하게 된다.
typeRoots
node_modules/@types라는 모든 경로를 찾아서 사용하도록 설정해줄수 있다.
type
배열 안의 모듈 혹은 ./node_modules/@types/ 안의 모듈 이름에서 찾아옵니다.
[] 빈 배열을 넣는다는건 이 시스템을 이용하지 않겠다는 의미이다.
target
자바스크립트의 버전을 할것인지 설정
lib
기본 type definition 라이브러리를 어떤 것을 사용할 것이냐
lib를 지정하지 않을때
- target이 'es3'면 디폴트로 lib.d.ts를 사용한다.
- target이 'es5'면 디폴트로 dom, es5, scripthost를 사용한다.
- target이 'es6'면 디폴트로 dom, es6, scripthost를 사용한다.
lib를 지정하면 그 lib배열로만 라이브러리를 사용한다.
- 빈 [] : no definition found
compileOptions 경로
outFile
- 모든 output을 하나의 자바스크립트 파일로 생성할 파일 경로를 선언한다.
outDir
- 내가 작성한 output 폴더를 지정할 수 있다.
rootDir
- 컴파일 root가 될 경로를 지정한다.
- 아래화면에서 보면 src이하의 폴더의 내용물만 컴파일되었다.
strict
설 정 명 | 설 명 |
noImplicitAny | |
728x90
'FrontEnd > TypeScript' 카테고리의 다른 글
Class 정의 / 초기화 / Getter And Setter (0) | 2022.10.08 |
---|---|
Interface (0) | 2022.10.07 |
TypeScript 타입호환성 (0) | 2022.09.27 |
TypeScript의 옵션 (0) | 2022.09.26 |
TypeScript 타입 (0) | 2022.09.20 |
댓글