[Typescript] Compiler

8411 단어 초보자 대상

watch 모드


↓ 임의의 명령을 사용하여watch 모드를 시작합니다. 변경할 때마다 자동으로 컴파일됩니다.
% tsc ファイル名 --watch
% tsc ファイル名 -w

정지는 control+c입니다.

tsconfig.json


↓ 명령 tsconfigjson이라는 파일을 만듭니다.
% tsc --init
다음에 tsc 명령을 입력하면
모든 파일을 함께 컴파일할 수 있습니다.
exclude
컴파일하기 싫은 파일이 있으면 tsconfig.json에서 exclude로 지정합니다.
exclude = 제외
tsconfig.json
  "exclude": [
    "index.ts",
    "*.spec.ts",
    "**/compiler.ts",
    "node_modules"
  ]
"index.ts"     = index.제외ts
△.spec.ts = spec.ts에서 모든 확장자 제외
**/commpiler.ts = 루트 디렉토리를 제외한 모든 지정된 파일은 제외됩니다.
"node modules"= exclude 를 사용할 때 표시할 내용
include
컴파일할 파일을 지정합니다.
포함
  "include": [

  ]
files
와일드카드를 지정할 수 없습니다.
  "files": [

  ]

unclude exclude+@files


include와 files가 없으면 모든 파일이 됩니다.

target


target은 자바스크립트에 컴파일된 Ver를 지정하는 것입니다.
기본값은 ES3입니다.

lib


형식 정의가 있는 파일에서lib은 어떤 것을 사용할지 지정합니다.
lib이 지정되지 않았을 때 target에 따라 변경됩니다.
↓는 ES6의 lib입니다.이렇게 lib을 지정해도 되고 target이 ES6이면 지정하지 않아도 됩니다
↓내용은 이렇다.
    "lib": [
       "ES6",
       "DOM",
       "DOM.Iterable",
       "ScriptHost"
    ]

allowJs   


Javascript를 컴파일러의 객체로 사용

checkJs  


Typescript처럼 Javascript 파일 오류 확인

jsx           


React.JS용

declaration       


유형 정의 파일

declarationMap     


유형 정의 파일

sourceMap


Map file 작성
브라우저에서 Type script 파일을 볼 때 사용합니다.
tsconfig.json
"sourceMap": true
tru를 눌러%tsc를 칩니다.
이렇게 하면 검증된source에서ts파일을 볼 수 있습니다.

outDir 


Typescript가 Javascript 출력으로 변환될 때
그 출력 목적지를 지정할 수 있습니다.

rootDir


removeComents


댓글이 삭제됩니다.

noEmit


Type script의 유형이 올바른지 확인합니다.

downlevelIteration


데이터가 ES3, ES5인 경우에만 사용할 수 있습니다.
for-of의 중복 처리를 ES3, S5로 컴파일하면 오류가 발생할 수 있습니다.
예를 들어 그림 문자를 사용하여 문자열을 순환할 때 오류가 발생할 수 있습니다.
이런 일은 ↓로 방지할 수 있다.
tsconfig.json
"downlevelIteration": true
Iteration=반복

noEmitOnError


오류가 있으면 자바스크립트로 컴파일하지 않습니다.
tsconfig.json
"noEmitOnError": true

strict


↓ 7개 항목 모두 트루 설정.※ 댓글 출력도 상관 없음
noImplicitAny
strictNullChecks
strictFunctionTypes
strictBindCallApply
strictPropertyInitialization
noImplicitThis
alwaysStrict

noImplicitAny


Implicit = 기본
기본값any는 오류를 대답합니다.
↓ 매개 변수 "message"의 유형은 기본적으로 "any"입니다.이런 착오가 생기다.
index.ts
function echo(message) {
  return message;
}
(message) 뒤에 string 등 유형을 붙이면 해결할 수 있습니다.

strictNullChecks


엄격한null형 검사.
↓ stictnull Checks가 가짜라면 ok, 진짜라면 오류 발생.
index.ts
let nullableMessage: string = null;
let undefinedableMessage: string = undefined;
let onlyNull: null = undefined;
let onlyUndefined: undefined = null;

strictFunctionTypes


클라스 계승 시 발생할 수 있는 오류를 방지합니다.

strictBindCallApply


bind,call,apply에 대해 엄격한 검사를 실시합니다.

strictPropertyInitialization


class를 사용할 때 사용합니다.

noImplicitThis


this가 무엇을 표시하는지 알 수 없을 때 오류를 되돌려줍니다.

alwaysStrict


컴파일된 Javascript 파일에는 "use strict"가 추가됩니다.

Additional Checks


noUnusedLocals


사용하지 않은 변수가 있으면 알려주실 거예요.
↓ "이미'hello'를 선언했지만 그 값을 읽지 못했다."이렇게 말하다
↓ 오류가 발생했습니다.
index.ts
function echo(message: string) {
  let hello = 'hello';
  return message;
}
로컬 변수에 정의되어 있기 때문에 다른 변수에서도 사용할 필요가 없습니다.
따라서 용도가 없는 무용 변수로 판단된다.

noUnusedParameters


사용할 수 없는 파라미터가 있으면 알려주실 거예요.
↓는 name:string 오류입니다.
index.ts
function echo(message: string, name: string) {
  let hello = 'hello';
  return message;
}

noImplicitReturns


숨겨진 리턴이 잘못될 수 있습니다.
index.ts
function echo(message: string): string | undefined {
  if (message) {
    return message;
  }
}
↑else의 경우를 잘 써야 하는return!이런 착오가 생기다.
index.ts
function echo(message: string): string | undefined {
  if (message) {
    return message;
  }
  return;
}

좋은 웹페이지 즐겨찾기