鍍金池/ 教程/ HTML/ 在MSBuild里使用編譯選項(xiàng)
初始化項(xiàng)目結(jié)構(gòu)
聯(lián)合類型
介紹
介紹
介紹
編譯選項(xiàng)
TypeScript 1.6
介紹
介紹
發(fā)展路線圖
介紹
在MSBuild里使用編譯選項(xiàng)
可迭代性
TypeScript 1.3
介紹
介紹
TypeScript 1.1
變量聲明
即將到來的Angular 2框架是使用TypeScript開發(fā)的。 因此Angular和TypeScript一起使用非常簡單方便
tsconfig.json
介紹
介紹
介紹
在MSBuild里使用編譯選項(xiàng)
使用TypeScript的每日構(gòu)建版本
新建工程
枚舉
三斜線指令
結(jié)合ASP.NET v5使用TypeScript
TypeScript里的this
介紹
TypeScript 1.4
編碼規(guī)范
介紹
模塊解析
ASP.NET 4
架構(gòu)概述
介紹
介紹
ASP.NET Core
TypeScript 1.8
介紹
介紹
創(chuàng)建簡單工程
TypeScript 1.7
TypeScript 1.5
NPM包的類型
支持TypeScript的編輯器

在MSBuild里使用編譯選項(xiàng)

概述

編譯選項(xiàng)可以在使用MSBuild的項(xiàng)目里通過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')" />

映射

編譯選項(xiàng) MSBuild屬性名稱 可用值
--declaration TypeScriptGeneratesDeclarations 布爾值
--module TypeScriptModuleKind AMD, CommonJs, UMDSystem
--target TypeScriptTarget ES3, ES5, or ES6
--charset TypeScriptCharset
--emitBOM TypeScriptEmitBOM 布爾值
--emitDecoratorMetadata TypeScriptEmitDecoratorMetadata 布爾值
--experimentalDecorators TypeScriptExperimentalDecorators 布爾值
--inlineSourceMap TypeScriptInlineSourceMap 布爾值
--inlineSources TypeScriptInlineSources 布爾值
--locale 自動(dòng)的 自動(dòng)設(shè)置成PreferredUILang的值
--mapRoot TypeScriptMapRoot 文件路徑
--newLine TypeScriptNewLine CRLFLF
--noEmitOnError TypeScriptNoEmitOnError 布爾值
--noEmitHelpers TypeScriptNoEmitHelpers 布爾值
--noImplicitAny TypeScriptNoImplicitAny 布爾值
--noLib TypeScriptNoLib 布爾值
--noResolve TypeScriptNoResolve 布爾值
--out TypeScriptOutFile 文件路徑
--outDir TypeScriptOutDir 文件路徑
--preserveConstEnums TypeScriptPreserveConstEnums 布爾值
--removeComments TypeScriptRemoveComments 布爾值
--rootDir TypeScriptRootDir 文件路徑
--isolatedModules TypeScriptIsolatedModules 布爾值
--sourceMap TypeScriptSourceMap 文件路徑
--sourceRoot TypeScriptSourceRoot 文件路徑
--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特有選項(xiàng) TypeScriptAdditionalFlags 任意編譯選項(xiàng)

我使用的Visual Studio版本里支持哪些選項(xiàng)?

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

ToolsVersion

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

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

如果用戶使用的是更新版本的TypeScript,則會(huì)在首次加載工程的時(shí)候看到一個(gè)提示升級(jí)工程的對(duì)話框。

TypeScriptCompileBlocked

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

上一篇:新建工程下一篇:TypeScript 1.1