Skip to content

Files

Latest commit

77f4497 Β· Jun 20, 2020

History

History
121 lines (108 loc) Β· 10.4 KB

compiler-options-in-msbuild.md

File metadata and controls

121 lines (108 loc) Β· 10.4 KB

κ°œμš” (Overview)

컴파일러 μ˜΅μ…˜μ€ MSBuild ν”„λ‘œμ νŠΈ λ‚΄μ˜ MSBuild ν”„λ‘œνΌν‹°λ₯Ό μ‚¬μš©ν•˜μ—¬ 지정할 수 μžˆμŠ΅λ‹ˆλ‹€.

예제 (Example)

  <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
    <TypeScriptRemoveComments>false</TypeScriptRemoveComments>
    <TypeScriptSourceMap>true</TypeScriptSourceMap>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)' == 'Release'">
    <TypeScriptRemoveComments>true</TypeScriptRemoveComments>
    <TypeScriptSourceMap>false</TypeScriptSourceMap>
  </PropertyGroup>
  <Import
      Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets"
      Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />

맡핑 (Mappings)

컴파일러 μ˜΅μ…˜ MSBuild ν”„λ‘œνΌν‹° 이름 ν—ˆμš©λœ κ°’
--allowJs MSBuildμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
--allowSyntheticDefaultImports TypeScriptAllowSyntheticDefaultImports boolean
--allowUnreachableCode TypeScriptAllowUnreachableCode boolean
--allowUnusedLabels TypeScriptAllowUnusedLabels boolean
--alwaysStrict TypeScriptAlwaysStrict boolean
--baseUrl TypeScriptBaseUrl 파일 경둜
--charset TypeScriptCharset
--declaration TypeScriptGeneratesDeclarations boolean
--declarationDir TypeScriptDeclarationDir 파일 경둜
--diagnostics MSBuildμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
--disableSizeLimit MSBuildμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
--emitBOM TypeScriptEmitBOM boolean
--emitDecoratorMetadata TypeScriptEmitDecoratorMetadata boolean
--emitDeclarationOnly TypeScriptEmitDeclarationOnly boolean
--esModuleInterop TypeScriptESModuleInterop boolean
--experimentalAsyncFunctions TypeScriptExperimentalAsyncFunctions boolean
--experimentalDecorators TypeScriptExperimentalDecorators boolean
--forceConsistentCasingInFileNames TypeScriptForceConsistentCasingInFileNames boolean
--help MSBuildμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
--importHelpers TypeScriptImportHelpers boolean
--inlineSourceMap TypeScriptInlineSourceMap boolean
--inlineSources TypeScriptInlineSources boolean
--init MSBuildμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
--isolatedModules TypeScriptIsolatedModules boolean
--jsx TypeScriptJSXEmit React λ˜λŠ” Preserve
--jsxFactory TypeScriptJSXFactory μ œν•œλœ 이름
--lib TypeScriptLib μ‰Όν‘œλ‘œ κ΅¬λΆ„λœ λ¬Έμžμ—΄ λͺ©λ‘
--listEmittedFiles MSBuildμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
--listFiles MSBuildμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
--locale μžλ™ μžλ™μœΌλ‘œ PreferredUILang κ°’ μ„€μ •
--mapRoot TypeScriptMapRoot 파일 경둜
--maxNodeModuleJsDepth MSBuildμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
--module TypeScriptModuleKind AMD, CommonJs, UMD, System or ES6
--moduleResolution TypeScriptModuleResolution Classic λ˜λŠ” Node
--newLine TypeScriptNewLine CRLF λ˜λŠ” LF
--noEmit MSBuildμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
--noEmitHelpers TypeScriptNoEmitHelpers boolean
--noEmitOnError TypeScriptNoEmitOnError boolean
--noFallthroughCasesInSwitch TypeScriptNoFallthroughCasesInSwitch boolean
--noImplicitAny TypeScriptNoImplicitAny boolean
--noImplicitReturns TypeScriptNoImplicitReturns boolean
--noImplicitThis TypeScriptNoImplicitThis boolean
--noImplicitUseStrict TypeScriptNoImplicitUseStrict boolean
--noStrictGenericChecks TypeScriptNoStrictGenericChecks boolean
--noUnusedLocals TypeScriptNoUnusedLocals boolean
--noUnusedParameters TypeScriptNoUnusedParameters boolean
--noLib TypeScriptNoLib boolean
--noResolve TypeScriptNoResolve boolean
--out TypeScriptOutFile 파일 경둜
--outDir TypeScriptOutDir 파일 경둜
--outFile TypeScriptOutFile 파일 경둜
--paths MSBuildμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
--preserveConstEnums TypeScriptPreserveConstEnums boolean
--preserveSymlinks TypeScriptPreserveSymlinks boolean
--listEmittedFiles MSBuildμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
--pretty MSBuildμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
--reactNamespace TypeScriptReactNamespace string
--removeComments TypeScriptRemoveComments boolean
--rootDir TypeScriptRootDir 파일 경둜
--rootDirs MSBuildμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
--skipLibCheck TypeScriptSkipLibCheck boolean
--skipDefaultLibCheck TypeScriptSkipDefaultLibCheck boolean
--sourceMap TypeScriptSourceMap 파일 경둜
--sourceRoot TypeScriptSourceRoot 파일 경둜
--strict TypeScriptStrict boolean
--strictFunctionTypes TypeScriptStrictFunctionTypes boolean
--strictNullChecks TypeScriptStrictNullChecks boolean
--strictPropertyInitialization TypeScriptStrictPropertyInitialization boolean
--stripInternal TypeScriptStripInternal boolean
--suppressExcessPropertyErrors TypeScriptSuppressExcessPropertyErrors boolean
--suppressImplicitAnyIndexErrors TypeScriptSuppressImplicitAnyIndexErrors boolean
--target TypeScriptTarget ES3, ES5, λ˜λŠ” ES6
--traceResolution MSBuildμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
--types MSBuildμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
--typeRoots MSBuildμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
--useDefineForClassFields TypeScriptUseDefineForClassFields boolean
--watch MSBuildμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
MSBuild μ „μš© μ˜΅μ…˜ TypeScriptAdditionalFlags λͺ¨λ“  컴파일러 μ˜΅μ…˜

λ‚˜μ˜ Visual Studio λ²„μ „μ—μ„œ μ§€μ›ν•˜λŠ” 것은? (What is supported in my version of Visual Studio?)

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets νŒŒμΌμ„ ν™•μΈν•˜μ„Έμš”.
MSBuild XML νƒœκ·Έμ™€ tsc 컴파일러 μ˜΅μ…˜ μ‚¬μ΄μ˜ μ‹ λ’°ν•  수 μžˆλŠ” 맡핑이 여기에 μžˆμŠ΅λ‹ˆλ‹€.

νˆ΄λ²„μ „ (ToolsVersion)

ν”„λ‘œμ νŠΈ 파일의 <TypeScriptToolsVersion>1.7</TypeScriptToolsVersion> ν”„λ‘œνΌν‹° 값은 λΉŒλ“œν•˜λŠ” 데 μ‚¬μš©ν•  컴파일러 버전을 μ‹λ³„ν•©λ‹ˆλ‹€ (이 μ˜ˆμ œμ—μ„œλŠ” 1.7).
μ΄λ ‡κ²Œ ν•˜λ©΄ ν”„λ‘œμ νŠΈκ°€ λ‹€λ₯Έ 컴퓨터에 μžˆλŠ” λ™μΌν•œ λ²„μ „μ˜ μ»΄νŒŒμΌλŸ¬μ— λŒ€ν•œ λΉŒλ“œλ₯Ό ν—ˆμš©ν•©λ‹ˆλ‹€.

λ§Œμ•½ TypeScriptToolsVersion이 μ§€μ •λ˜μ§€ μ•ŠμœΌλ©΄, μ„€μΉ˜λœ μ΅œμ‹  컴파일러 버전을 μ‚¬μš©ν•˜μ—¬ λΉŒλ“œν•©λ‹ˆλ‹€.

μ΅œμ‹  λ²„μ „μ˜ TSλ₯Ό μ‚¬μš©ν•˜λŠ” μ‚¬μš©μžμ—κ²ŒλŠ”, 첫 λ‘œλ“œ μ‹œ ν”„λ‘œμ νŠΈλ₯Ό μ—…κ·Έλ ˆμ΄λ“œν•˜λΌλŠ” λ©”μ‹œμ§€κ°€ ν‘œμ‹œλ©λ‹ˆλ‹€.

TypeScriptCompileBlocked

λ‹€λ₯Έ λΉŒλ“œ 도ꡬλ₯Ό μ‚¬μš©ν•˜μ—¬ ν”„λ‘œμ νŠΈ (예: gulp, grunt λ“±) 그리고 κ°œλ°œμ„ μœ„ν•œ VS와 디버깅 ν™˜κ²½μ„ μ‚¬μš©ν•˜λŠ” 경우 ν”„λ‘œμ νŠΈμ—μ„œ <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>λ₯Ό μ„€μ •ν•˜μ„Έμš”. μ΄λ ‡κ²Œ ν•˜λ©΄ λͺ¨λ“  νŽΈμ§‘ 지원이 μ œκ³΅λ˜μ§€λ§Œ F5ν‚€λ₯Ό λˆŒλŸ¬λ„ λΉŒλ“œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.