CLI로 사용하기 (Using the CLI)
로컬에서 tsc
를 실행하면 tsconfig.json
가 정의한 가장 가까운 프로젝트를 컴파일하고, 원하는 파일 glob을 전달하여
TypeScript 파일 집합을 컴파일할 수 있습니다.
# tsconfig.json에 대한 fs를 역방향으로 검토하여 컴파일 실행
tsc
# 컴파일러 기본값으로 index.ts만 트랜스파일
tsc index.ts
# 기본 설정으로 src 폴더 안에 모든 .ts 파일을 트랜스파일
tsc src/*.ts
# tsconfig.json의 컴파일러 설정으로 src 폴더 안에 모든 .ts 파일을 트랜스파일
tsc --project tsconfig.json src/*.ts
컴파일러 옵션 (Compiler Options)
tsconfig의 컴파일러 옵션에 대한 더 많은 정보를 찾는다면, 베타 TSConfig 레퍼런스를 v2 사이트에서 확인하세요.
옵션 | 타입 | 기본값 | 설명 |
---|---|---|---|
--allowJs |
boolean |
false |
JavaScript 파일의 컴파일을 허용합니다 |
--allowSyntheticDefaultImports |
boolean |
module === "system" 또는 --esModuleInterop |
default export가 없는 모듈에서 default imports를 허용합니다. 코드 방출에는 영향을 주지 않으며, 타입 검사만 수행합니다. |
--allowUmdGlobalAccess |
boolean |
false |
모듈에서 전역 UMD 접근을 허용합니다. |
--allowUnreachableCode |
boolean |
false |
도달할 수 없는 코드에 대한 오류를 보고하지 않습니다. |
--allowUnusedLabels |
boolean |
false |
사용되지 않는 레이블에 대한 오류를 보고하지 않습니다. |
--alwaysStrict |
boolean |
false |
strict mode에서 파싱하고 각 소스 파일에 대해 "use strict" 를 내보냅니다. |
--assumeChangesOnlyAffectDirectDependencies |
boolean |
false |
파일 안에서의 변경은 파일이 직접 의존하는 파일에만 영향을 미친다고 가정하고 '--incremental' 및 '-watch'로 다시 컴파일 합니다. |
--baseUrl |
string |
비-상대적 모듈 이름을 해석하기 위한 기본 디렉터리. 자세한 내용은 모듈 해석 문서을 참조하세요. | |
--build -b |
boolean |
false |
프로젝트 레퍼런스에서 지정한 이 프로젝트와 프로젝트의 모든 의존성을 빌드 합니다. 이 플래그는 이 페이지의 다른 플래그들과는 호환되지 않음에 유의하세요 자세한 내용은 여기를 보세요. |
--charset |
string |
"utf8" |
입력 파일의 문자 집합입니다. |
--checkJs |
boolean |
false |
.js 파일에 오류를 보고합니다. --allowJs 와 함께 사용하세요. |
--composite |
boolean |
true |
TypeScript가 프로젝트를 컴파일하기 위해 참조된 프로젝트의 출력을 찾을 위치를 결정할 수 있는지 확인합니다. |
--declaration -d |
boolean |
false |
해당하는 .d.ts 파일을 생성합니다. |
--declarationDir |
string |
생성된 선언 파일의 출력 디렉토리입니다. | |
--declarationMap |
boolean |
false |
해당하는 '.d.ts'파일 각각에 대한 소스 맵을 생성합니다. |
--diagnostics |
boolean |
false |
진단 정보를 보여줍니다. |
--disableSizeLimit |
boolean |
false |
JavaScript 프로젝트의 사이즈 제한을 비활성화합니다. |
--downlevelIteration |
boolean |
false |
ES5 또는 ES3를 대상으로 할 때 for..of , 스프레드와 구조분해할당에서 이터러블을 완전히 지원합니다. |
--emitBOM |
boolean |
false |
출력 파일의 시작 부분에 UTF-8 바이트 순서표(BOM)를 내보냅니다. |
--emitDeclarationOnly |
boolean |
false |
'.d.ts' 선언 파일만 내보냅니다. |
--emitDecoratorMetadata [1] |
boolean |
false |
소스에 데코레이터 선언에 대한 설계-타입 메타 데이터를 내보냅니다. 자세한 내용은 #2577 이슈을 참조하세요. |
--esModuleInterop |
boolean |
false |
런타임 바벨 생태계 호환성을 위한 __importStar 와 __importDefault 헬퍼를 내보내고 타입 시스템 호환성을 위해 --allowSyntheticDefaultImports 를 활성화합니다. |
--experimentalDecorators [1] |
boolean |
false |
ES 데코레이터에 대한 실험적인 지원을 사용하도록 활성화합니다. |
--extendedDiagnostics |
boolean |
false |
자세한 진단 정보를 표시합니다 |
--forceConsistentCasingInFileNames |
boolean |
false |
동일 파일 참조에 대해 일관성 없는 대소문자를 비활성화합니다. |
--generateCpuProfile |
string |
profile.cpuprofile |
주어진 경로에 cpu 프로필을 생성합니다. 파일 경로 대신 존재하는 디렉터리 이름을 전달하면 타임스탬프 이름이 지정된 프로필이 그 디렉터리에 대신 생성됩니다. |
--help -h |
도움말을 출력합니다. | ||
--importHelpers |
boolean |
false |
tslib 에서 방출된 헬퍼를 import 합니다. (예. __extends , __rest , 등..) |
--importsNotUsedAsValues |
string |
remove |
타입을 위해서만 사용하는 import를 위한 내보내기/검사 동작을 지정합니다. "remove" 와 "preserve" 는 사이드 이펙트를 위해 사용하지 않는 import를 내보낼지 지정하고, "error" 는 타입을 위해서만 사용하는 import는 import type 으로 작성하게 강제합니다. |
--incremental |
boolean |
composite 이 켜져있으면 true 아니면 false |
이전 컴파일에서 디스크의 파일로 정보를 읽거나/기록하여 증분 컴파일을 활성화합니다. 이 파일은 --tsBuildInfoFile 플래그로 컨트롤합니다. |
--inlineSourceMap |
boolean |
false |
별도의 파일 대신 소스 맵으로 단일 파일을 내보냅니다. |
--inlineSources |
boolean |
false |
단일 파일 내에서 소스 맵과 함께 소스를 내보냅니다. --inlineSourceMap 또는 --sourceMap 을 설정해야 합니다. |
--init |
TypeScript 프로젝트를 초기화하고 tsconfig.json 파일을 생성합니다. |
||
--isolatedModules |
boolean |
false |
추가 검사를 수행하여 별도의 컴파일 (예를 들어 트랜스파일된 모듈 혹은 @babel/plugin-transform-typescript) 이 안전한지 확인합니다. |
--jsx |
string |
"Preserve" |
.tsx 파일에서 JSX 지원: "React" , "Preserve" , "react-native" . JSX를 확인하세요. |
--jsxFactory |
string |
"React.createElement" |
리액트 JSX 방출을 대상으로 할 때 사용할 JSX 팩토리 함수를 지정합니다. 예: React.createElement 또는 h . |
--keyofStringsOnly |
boolean |
false |
keyof 를 문자열 값으로 된 프로퍼티 이름에만 적용합니다 (숫자나 심벌에서는 안됨). |
--useDefineForClassFields |
boolean |
false |
클래스 필드를 ECMAScript-표준 시맨틱으로 내보냅니다. |
--lib |
string[] |
컴파일에 포함될 라이브러리 파일 목록입니다. 가능한 값은 다음과 같습니다: ► ES5 ► ES6 ► ES2015 ► ES7 ► ES2016 ► ES2017 ► ES2018 ► ESNext ► DOM ► DOM.Iterable ► WebWorker ► ScriptHost ► ES2015.Core ► ES2015.Collection ► ES2015.Generator ► ES2015.Iterable ► ES2015.Promise ► ES2015.Proxy ► ES2015.Reflect ► ES2015.Symbol ► ES2015.Symbol.WellKnown ► ES2016.Array.Include ► ES2017.object ► ES2017.Intl ► ES2017.SharedMemory ► ES2017.String ► ES2017.TypedArrays ► ES2018.Intl ► ES2018.Promise ► ES2018.RegExp ► ESNext.AsyncIterable ► ESNext.Array ► ESNext.Intl ► ESNext.Symbol 주의사항: --lib 가 지정되지 않으면 라이브러리의 기본 리스트가 삽입됩니다. 주입되는 기본 라이브러리는 다음과 같습니다: ► --target ES5 : DOM,ES5,ScriptHost ► --target ES6 : DOM,ES6,DOM.Iterable,ScriptHost |
|
--listEmittedFiles |
boolean |
false |
컴파일의 일부로 생성된 파일의 이름을 출력합니다. |
--listFiles |
boolean |
false |
컴파일에 포함된 파일의 이름을 출력합니다. |
--locale |
string |
(플랫폼 별) | 오류 메시지를 표시하는 데 사용할 지역화, 예: en-us. 가능한 값은 다음과 같습니다: ► 영어 (US): en ► 체코어: cs ► 독일어: de ► 스페인어: es ► 프랑스어: fr ► 이탈리아어: it ► 일본어: ja ► 한국어: ko ► 폴란드어: pl ► 포르투갈어(브라질): pt-BR ► 러시아어: ru ► 터키어: tr ► 중국어 간체: zh-CN ► 중국어 번체: zh-TW |
--mapRoot |
string |
디버거가 생성된 위치가 아닌 맵 파일의 위치를 지정합니다. .map 파일이 .js 파일과 다른 위치에 런타임 시 위치할 경우 이 옵션을 사용하세요. 지정된 위치는 sourceMap에 포함되어 맵 파일이 위치할 디버거를 지정합니다. 이 플래그는 지정된 경로를 작성하지 않고 해당 위치에 맵 파일을 생성합니다. 대신 파일을 지정된 경로로 이동하는 빌드 후 단계를 작성하십시오. | |
--maxNodeModuleJsDepth |
number |
0 |
node_modules 및 로드 JavaScript 파일 아래에서 검색할 최대 의존성 깊이. --allowJs 에만 적용됩니다. |
--module -m |
string |
target === "ES3" or "ES5" ? "CommonJS" : "ES6" |
모듈 코드 생성 지정: "None" , "CommonJS" , "AMD" , "System" , "UMD" , "ES6" , "ES2015" 또는 "ESNext" .► "AMD" 와 "System" 만 --outFile 과 함께 사용할 수 있습니다.► "ES6" 와 "ES2015" 값은 "ES5" 또는 이하를 대상으로 할 때 사용할 수 있습니다. |
--moduleResolution |
string |
module === "AMD" or "System" or "ES6" ? "Classic" : "Node" |
모듈 해석 방법 결정. Node.js/io.js 스타일 해석의 경우, "Node" 또는 "Classic" 중 하나입니다. 자세한 내용은 모듈 해석 문서를 참조하세요. |
--newLine |
string |
(플랫폼 별) | 파일을 내보낼 때 사용되는 지정된 라인 끝의 시퀀스 사용: "crlf" (윈도우) 또는 "lf" (유닉스)." |
--noEmit |
boolean |
false |
출력을 내보내지 않습니다. |
--noEmitHelpers |
boolean |
false |
컴파일된 출력에서는 __extends 와 같은 커스텀 헬퍼 함수를 생성하지 않습니다. |
--noEmitOnError |
boolean |
false |
오류가 보고된 경우 출력을 내보내지 않습니다. |
--noErrorTruncation |
boolean |
false |
오류 메세지를 줄이지 않습니다. |
--noFallthroughCasesInSwitch |
boolean |
false |
스위치 문에 fallthrough 케이스에 대한 오류를 보고합니다. |
--noImplicitAny |
boolean |
false |
any 타입으로 암시한 표현식과 선언에 오류를 발생시킵니다. |
--noImplicitReturns |
boolean |
false |
함수의 모든 코드 경로에 반환값이 없을 때 오류를 보고합니다. |
--noImplicitThis |
boolean |
false |
any 타입으로 암시한 this 표현식에 오류를 보고합니다. |
--noImplicitUseStrict |
boolean |
false |
모듈 출력에 "use strict" 지시자를 내보내지 않습니다. |
--noLib |
boolean |
false |
기본 라이브러리 파일(lib.d.ts )은 포함하지 않습니다. |
--noResolve |
boolean |
false |
컴파일된 파일 목록에 트리플-슬래시 참조 또는 모듈 임포트 대상을 추가하지 않습니다. |
--noStrictGenericChecks |
boolean |
false |
함수 타입에서 제네릭 시그니처의 엄격한 검사를 비활성화합니다. |
--noUnusedLocals |
boolean |
false |
사용하지 않는 지역 변수에 대한 오류를 보고합니다. |
--noUnusedParameters |
boolean |
false |
사용하지 않는 매개 변수에 대한 오류를 보고합니다. |
--out |
string |
더 이상 사용하지 않습니다. --outFile 을 대신 사용합니다. |
|
--outDir |
string |
출력 구조를 디렉토리로 리다이렉트합니다. | |
--outFile |
string |
출력을 단일 파일로 연결하여 방출합니다. 연결의 순서는 컴파일러에 전달된 파일 목록과 트리플-슬래시 참조 그리고 import와 함께 결정됩니다. 자세한 내용은 출력 파일 순서 문서를 참조하세요. | |
paths [2] |
Object |
baseUrl 을 기준으로 관련된 위치에 모듈 이름의 경로 매핑 목록을 나열합니다. 자세한 내용은 모듈 해석 문서를 참조하세요. |
|
--preserveConstEnums |
boolean |
false |
생성된 코드에 const enum 선언을 지우지 않습니다. 자세한 내용은 const 열거형 문서를 참조하세요. |
--preserveSymlinks |
boolean |
false |
symlinks를 실제 경로로 해석하지 않습니다. symlinked된 파일을 실제 파일처럼 다룹니다. |
--preserveWatchOutput |
boolean |
false |
스크린을 지우는 대신에 예전 콘솔 출력을 감시 모드로 남겨둡니다 |
--pretty |
boolean |
다른 프로그램으로 파이프하거나 출력을 파일로 리다이렉션하지 않으면 true |
에러와 메시지를 색과 컨텍스트를 사용해서 스타일 지정합니다. |
--project -p |
string |
유효한 설정 파일이 지정된 프로젝트를 컴파일하세요. 이 인수는 유효한 JSON 설정 파일의 파일 경로일 수도 있고 tsconfig.json 파일이 포함된 디렉토리의 경로일 수도 있습니다.자세한 내용은 tsconfig.json를 참조하세요. |
|
--reactNamespace |
string |
"React" |
더 이상 사용하지 않습니다. --jsxFactory 를 대신 사용합니다."react" JSX emit을 대상으로 할 때 createElement 와 __spread 에 호출된 객체를 지정합니다. |
--removeComments |
boolean |
false |
/*! 로 시작하는 copy-right 헤더 주석을 제외한 모든 주석을 제거합니다. |
--resolveJsonModule |
boolean |
false |
.json 확장자로 import된 모듈을 포함합니다. |
--rootDir |
string |
(공통 루트 디렉토리는 input files 리스트에서 처리됩니다) | 입력 파일의 루트 디렉토리를 지정합니다. --outDir 로 출력 디렉토리 구조를 제어하기 위해서만 사용합니다. |
rootDirs [2] |
string[] |
런타임 시 결합된 컨텐츠가 프로젝트의 구조를 나타내는 루트 폴더 목록입니다. 자세한 내용은 모듈 해석 문서를 참조하세요. | |
--showConfig |
boolean |
false |
다른 입력 옵션 및 구성 파일을 사용하여 빌드를 실제로 실행하는 대신 출력에 마지막 암시적 구성 파일을 표시하십시오. |
--skipDefaultLibCheck |
boolean |
false |
더 이상 사용하지 않습니다. --skipLibCheck 를 대신 사용합니다.기본 라이브러리 선언 파일의 타입 검사를 건너뜁니다. |
--skipLibCheck |
boolean |
false |
모든 선언 파일(*.d.ts )의 타입 검사를 건너뜁니다. |
--sourceMap |
boolean |
false |
해당하는 .map 파일을 생성합니다. |
--sourceRoot |
string |
디버거가 소스 위치 대신 TypeScript 파일을 찾아야 하는 위치를 지정합니다. 설계 시점에 소스가 아닌 런타임에 소스가 있는 경우 이 옵션을 사용하세요. 지정한 위치는 소스 파일이 위치할 디버깅 위치를 지정하기 위해 소스 맵에 포함됩니다. | |
--strict |
boolean |
false |
모든 엄격한 타입 검사 옵션을 활성화합니다. --strict 를 활성화하면 --noImplicitAny , --noImplicitThis , --alwaysStrict , --strictNullChecks 및 --strictFunctionTypes 이 가능합니다. |
--strictBindCallApply |
boolean |
false |
함수에서 bind , call 그리고 apply 메서드의 더 엄격한 검사를 활성화합니다. |
--strictFunctionTypes |
boolean |
false |
함수 타입에 대한 bivariant 매개변수를 비활성화합니다. |
--strictPropertyInitialization |
boolean |
false |
undefined가 아닌 클래스 프로퍼티가 생성자에서 초기화 되도록 합니다. 이 옵션을 적용하려면 --strictNullChecks 가 활성화되어야 합니다. |
--strictNullChecks |
boolean |
false |
엄격한 null 검사 모드에서는 null 과 undefined 값이 모든 타입의 도메인에 있지 않고 그 자체와 any 만 할당할 수 있습니다(한 가지 예외사항은 undefined 또한 void 에 할당 가능하다는 것입니다). |
--suppressExcessPropertyErrors |
boolean |
false |
객체 리터럴에 대한 프로퍼티 초과 검사를 억제합니다. |
--suppressImplicitAnyIndexErrors |
boolean |
false |
인덱스 시그니처가 없는 객체를 인덱싱하는 경우 --noImplicitAny 억제합니다. 오류를 시그니처 자세한 내용은 #1232 이슈를 참조하세요. |
--target -t |
string |
"ES3" |
ECMAScript 대상 버전 지정: ► "ES3" (기본 값) ► "ES5" ► "ES6" /"ES2015" ► "ES2016" ► "ES2017" ► "ES2018" ► "ES2019" ► "ES2020" ► "ESNext" 주의사항: "ESNext" 는 최신 ES 제안 기능을 대상으로 합니다. |
--traceResolution |
boolean |
false |
모듈 해석 로그 메세지를 보고합니다. |
--tsBuildInfoFile |
string |
.tsbuildinfo |
증분 빌드 정보를 저장할 파일을 지정합니다. |
--types |
string[] |
타입 정의가 포함될 이름의 목록. 자세한 내용은 @types, --typeRoots 및 --types를 참조하세요. | |
--typeRoots |
string[] |
타입 정의가 포함될 폴더의 목록. 자세한 내용은 @types, --typeRoots 및 --types를 참조하세요. | |
--version -v |
컴파일러의 버전을 출력합니다. | ||
--watch -w |
컴파일러를 감시 모드로 실행합니다. 입력 파일을 감시하여 변경 시 다시 컴파일합니다. 감시 파일과 디렉터리의 구현은 환경 변수를 사용하여 구성합니다. 더 자세한 내용은 감시 구성하기를 보세요. |
- [1] 이 옵션은 실험단계입니다.
- [2] 이 옵션은
tsconfig.json
에서만 허용되며 커맨드 라인에서는 허용되지 않습니다.
관련사항 (Related)
tsconfig.json
파일에서 컴파일러 옵션 설정하기- MSBuild projects 프로젝트에서 컴파일러 옵션 설정하기