TypeScript MSBuild編譯選項

2022-05-31 14:55 更新

概述

編譯選項可以在使用MSBuild的項目里通過MSBuild屬性指定。

例子

<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')" />

映射

編譯選項 MSBuild屬性名稱 可用值
--declaration TypeScriptGeneratesDeclarations 布爾值
--module TypeScriptModuleKind AMDCommonJsUMD 或 System
--target TypeScriptTarget ES3ES5, or ES6
--charset TypeScriptCharset  
--emitBOM TypeScriptEmitBOM 布爾值
--emitDecoratorMetadata TypeScriptEmitDecoratorMetadata 布爾值
--experimentalDecorators TypeScriptExperimentalDecorators 布爾值
--inlineSourceMap TypeScriptInlineSourceMap 布爾值
--inlineSources TypeScriptInlineSources 布爾值
--locale 自動的 自動設(shè)置成PreferredUILang的值
--mapRoot TypeScriptMapRoot 文件路徑
--newLine TypeScriptNewLine CRLF 或 LF
--noEmitOnError TypeScriptNoEmitOnError 布爾值
--noEmitHelpers TypeScriptNoEmitHelpers 布爾值
--noImplicitAny TypeScriptNoImplicitAny 布爾值
--noUnusedLocals TypeScriptNoUnusedLocals 布爾值
--noUnusedParameters TypeScriptNoUnusedParameters 布爾值
--noLib TypeScriptNoLib 布爾值
--noResolve TypeScriptNoResolve 布爾值
--out TypeScriptOutFile 文件路徑
--outDir TypeScriptOutDir 文件路徑
--preserveConstEnums TypeScriptPreserveConstEnums 布爾值
--removeComments TypeScriptRemoveComments 布爾值
--rootDir TypeScriptRootDir 文件路徑
--isolatedModules TypeScriptIsolatedModules 布爾值
--sourceMap TypeScriptSourceMap 文件路徑
--sourceRoot TypeScriptSourceRoot 文件路徑
--strictNullChecks TypeScriptStrictNullChecks 布爾值
--suppressImplicitAnyIndexErrors TypeScriptSuppressImplicitAnyIndexErrors 布爾值
--suppressExcessPropertyErrors TypeScriptSuppressExcessPropertyErrors 布爾值
--moduleResolution TypeScriptModuleResolution Classic or Node
--experimentalAsyncFunctions TypeScriptExperimentalAsyncFunctions 布爾值
--jsx TypeScriptJSXEmit React or Preserve
--reactNamespace TypeScriptReactNamespace string
--skipDefaultLibCheck TypeScriptSkipDefaultLibCheck 布爾值
--allowUnusedLabels TypeScriptAllowUnusedLabels 布爾值
--noImplicitReturns TypeScriptNoImplicitReturns 布爾值
--noFallthroughCasesInSwitch TypeScriptNoFallthroughCasesInSwitch 布爾值
--allowUnreachableCode TypeScriptAllowUnreachableCode 布爾值
--forceConsistentCasingInFileNames TypeScriptForceConsistentCasingInFileNames 布爾值
--allowSyntheticDefaultImports TypeScriptAllowSyntheticDefaultImports 布爾值
--noImplicitUseStrict TypeScriptNoImplicitUseStrict 布爾值
--project VS不支持  
--watch VS不支持  
--diagnostics VS不支持  
--listFiles VS不支持  
--noEmit VS不支持  
--allowJs VS不支持  
VS特有選項 TypeScriptAdditionalFlags 任意編譯選項

我使用的Visual Studio版本里支持哪些選項?

查找 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets文件。 可用的MSBuild XML標(biāo)簽與相應(yīng)的tsc編譯選項的映射都在那里。

ToolsVersion

工程文件里的<TypeScriptToolsVersion>1.7</TypeScriptToolsVersion>屬性值表明了構(gòu)建時使用的編譯器的版本號(這個例子里是1.7) 這樣就允許一個工程在不同的機(jī)器上使用固定的版本去編譯。

如果沒有指定TypeScriptToolsVersion,則會使用機(jī)器上安裝的最新版本的編譯器去構(gòu)建。

如果用戶使用的是更新版本的TypeScript,則會在首次加載工程的時候看到一個提示升級工程的對話框。

TypeScriptCompileBlocked

如果你使用其它的構(gòu)建工具(比如,gulp, grunt等等)并且使用VS做為開發(fā)和調(diào)試工具,那么在工程里設(shè)置<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>。 這樣VS只會提供給你編輯的功能,而不會在你按F5的時候去構(gòu)建。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號