在MSBuild里使用编译选项
概述
编译选项可以在使用MSBuild的项目里通过MSBuild属性指定。
例子
映射
编译选项
MSBuild属性名称
可用值
--allowJs
MSBuild不支持此选项
--allowSyntheticDefaultImports
TypeScriptAllowSyntheticDefaultImports
布尔值
--allowUnreachableCode
TypeScriptAllowUnreachableCode
布尔值
--allowUnusedLabels
TypeScriptAllowUnusedLabels
布尔值
--alwaysStrict
TypeScriptAlwaysStrict
布尔值
--baseUrl
TypeScriptBaseUrl
文件路径
--charset
TypeScriptCharset
--declaration
TypeScriptGeneratesDeclarations
布尔值
--declarationDir
TypeScriptDeclarationDir
文件路径
--diagnostics
MSBuild不支持此选项
--disableSizeLimit
MSBuild不支持此选项
--emitBOM
TypeScriptEmitBOM
布尔值
--emitDecoratorMetadata
TypeScriptEmitDecoratorMetadata
布尔值
--experimentalAsyncFunctions
TypeScriptExperimentalAsyncFunctions
布尔值
--experimentalDecorators
TypeScriptExperimentalDecorators
布尔值
--forceConsistentCasingInFileNames
TypeScriptForceConsistentCasingInFileNames
布尔值
--help
MSBuild不支持此选项
--importHelpers
TypeScriptImportHelpers
布尔值
--inlineSourceMap
TypeScriptInlineSourceMap
布尔值
--inlineSources
TypeScriptInlineSources
布尔值
--init
MSBuild不支持此选项
--isolatedModules
TypeScriptIsolatedModules
布尔值
--jsx
TypeScriptJSXEmit
react
,react-native
,preserve
--jsxFactory
TypeScriptJSXFactory
有效的名字
--lib
TypeScriptLib
逗号分隔的字符串列表
--listEmittedFiles
MSBuild不支持此选项
--listFiles
MSBuild不支持此选项
--locale
automatic
自动设置为PreferredUILang值
--mapRoot
TypeScriptMapRoot
文件路径
--maxNodeModuleJsDepth
MSBuild不支持此选项
--module
TypeScriptModuleKind
AMD
,CommonJs
,UMD
,System
或ES6
--moduleResolution
TypeScriptModuleResolution
Classic
或Node
--newLine
TypeScriptNewLine
CRLF
或LF
--noEmit
MSBuild不支持此选项
--noEmitHelpers
TypeScriptNoEmitHelpers
布尔值
--noEmitOnError
TypeScriptNoEmitOnError
布尔值
--noFallthroughCasesInSwitch
TypeScriptNoFallthroughCasesInSwitch
布尔值
--noImplicitAny
TypeScriptNoImplicitAny
布尔值
--noImplicitReturns
TypeScriptNoImplicitReturns
布尔值
--noImplicitThis
TypeScriptNoImplicitThis
布尔值
--noImplicitUseStrict
TypeScriptNoImplicitUseStrict
布尔值
--noStrictGenericChecks
TypeScriptNoStrictGenericChecks
布尔值
--noUnusedLocals
TypeScriptNoUnusedLocals
布尔值
--noUnusedParameters
TypeScriptNoUnusedParameters
布尔值
--noLib
TypeScriptNoLib
布尔值
--noResolve
TypeScriptNoResolve
布尔值
--out
TypeScriptOutFile
文件路径
--outDir
TypeScriptOutDir
文件路径
--outFile
TypeScriptOutFile
文件路径
--paths
MSBuild不支持此选项
--preserveConstEnums
TypeScriptPreserveConstEnums
布尔值
--preserveSymlinks
TypeScriptPreserveSymlinks
布尔值
--listEmittedFiles
MSBuild不支持此选项
--pretty
MSBuild不支持此选项
--reactNamespace
TypeScriptReactNamespace
字符串
--removeComments
TypeScriptRemoveComments
布尔值
--rootDir
TypeScriptRootDir
文件路径
--rootDirs
MSBuild不支持此选项
--skipLibCheck
TypeScriptSkipLibCheck
布尔值
--skipDefaultLibCheck
TypeScriptSkipDefaultLibCheck
布尔值
--sourceMap
TypeScriptSourceMap
文件路径
--sourceRoot
TypeScriptSourceRoot
文件路径
--strict
TypeScriptStrict
布尔值
--strictFunctionTypes
TypeScriptStrictFunctionTypes
布尔值
--strictNullChecks
TypeScriptStrictNullChecks
布尔值
--stripInternal
TypeScriptStripInternal
布尔值
--suppressExcessPropertyErrors
TypeScriptSuppressExcessPropertyErrors
布尔值
--suppressImplicitAnyIndexErrors
TypeScriptSuppressImplicitAnyIndexErrors
布尔值
--target
TypeScriptTarget
ES3
,ES5
,或ES6
--traceResolution
MSBuild不支持此选项
--types
MSBuild不支持此选项
--typeRoots
MSBuild不支持此选项
--watch
MSBuild不支持此选项
MSBuild only option
TypeScriptAdditionalFlags
任何编译选项
我使用的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
,则会使用机器上安装的最新版本的编译器去构建。
如果用户使用的是更新版本的TypeScript,则会在首次加载工程的时候看到一个提示升级工程的对话框。
TypeScriptCompileBlocked
如果你使用其它的构建工具(比如,gulp, grunt等等)并且使用VS做为开发和调试工具,那么在工程里设置<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
。 这样VS只会提供给你编辑的功能,而不会在你按F5的时候去构建。
Last updated
Was this helpful?