[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;
}
Reference
이 문제에 관하여([Typescript] Compiler), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yait/items/fc9c774010770009a695텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)