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 검사 모드에서는 nullundefined 값이 모든 타입의 도메인에 있지 않고 그 자체와 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에서만 허용되며 커맨드 라인에서는 허용되지 않습니다.

results matching ""

    No results matching ""