TypeScript Compiler

Dev_Sumni·2022년 5월 2일
0
post-thumbnail

compileOnSave

  • true/ false (default false)
    • Visual Studio 2015 with TypeScript 1.8.4이상
    • atom-typescript 플러그인

extends

  • 파일(상대) 경로명: string
  • TypeScript 2.1 New Spec

files, include, exclude

  • 셋다 설정이 없으면 전부다 컴파일
  • include, exclude
    • glob patterns

compileOptions - typeRoots, types

types: TypeScript 2.0부터 사용 가능해진 내장 type definition 시스템

  • 설정이 없을경우
    • node_modules/@types 라는 모든 경로를 찾아서 사용
  • typeRoots를 사용할 경우
    • 배열 안에 들어있는 경로들 아래서만 가져옴
  • types를 사용할 경우
    • 배열 안의 모듈 혹은 ./node_modules/@types/ 안의 모듈 이름에서 찾아옴
    • [] 빈 배열을 넣으면 이 시스템을 이용하지 않겠다는 뜻

(typeRoots, types를 같이 사용하지 않음)

compileOptions - target 과 lib

  • target
    • 빌드의 결과물을 어떤 버전으로 할 것인지
    • 지정하지 않으면 es3
  • lib
    • 기본 type definition 라이브러리를 어떤것을 사용할 것인지
    • lib를 지정하지 않을때
      • target 은 'es3', 디폴트 lib.d.ts 사용
      • target 은 'es5', 디폴트 dom, es5, scripthost 사용
      • target 은 'es6', 디폴트 dom, es6, dom.iterable, scripthost 사용
    • lib를 지정하면 해당 lib 배열로만 라이브러리를 사용
      • 빈 [] => 'no definition found~'

compileOptions - outDir, outFile, rootDir

compileOptions - strict

  • noImplicitAny:
    명시적이지 않게 any타입을 사용하여, 표현식과 선언에 사용하면 에러를 발생
  • noImplicitThis:
    명시적이지 않게 any타입을 사용하여, this 표현식에 사용하면 에러를 발생
  • strictNullChecks:
    null 및 undefined 값이 모든 유형의 도메인에 속하지 않으며, 그 자신을 타입으로 가지거나, any일 경우에만 할당 가능
    (한가지 예외 undefined에 void 할당 가능)
  • strictFunctionTypes:
    함수 타입에 대한 bivariant 매개변수 검사를 비활성화 함
  • strictPropertyInitialization:
    정의되지 않은 클래스의 속성이 생성자에서 초기화 되었는지 확인함
  • strictBindCallApply:
    function의 내장 함수인 bind/call/apply를 사용할 때, 엄격하게 체크하도록 하는 옵션
  • alwaysStrict:
    각 소스 파일에 대해 JS의 strict mode로 코드를 분석하고, 엄격하게 사용을 해제함
profile
개발 일지 끄적 끄적,,

0개의 댓글