TypeScript项目配置:编译选项

编译选项

选项类型默认值描述
--allowJs boolean false允许编译javascript文件。
--allowSyntheticDefaultImports boolean module === "system" 或设置了 --esModuleInteropmodule 不为 es2015 / esnext允许从没有设置默认导出的模块中默认导入。这并不影响代码的输出,仅为了类型检查。
--allowUnreachableCode boolean false不报告执行不到的代码错误。
--allowUnusedLabels boolean false不报告未使用的标签错误。
--alwaysStrict boolean false以严格模式解析并为每个源文件生成 "use strict"语句
--baseUrl string解析非相对模块名的基准目录。查看 模块解析文档了解详情。
--charset string "utf8"输入文件的字符集。
--checkJs boolean false.js文件中报告错误。与 --allowJs配合使用。
--declaration
-d
boolean false生成相应的 .d.ts文件。
--declarationDir string生成声明文件的输出路径。
--diagnostics boolean false显示诊断信息。
--disableSizeLimit boolean false禁用JavaScript工程体积大小的限制
--emitBOM boolean false在输出文件的开头加入BOM头(UTF-8 Byte Order Mark)。
--emitDecoratorMetadata [1] boolean false给源码里的装饰器声明加上设计类型元数据。查看 issue #2577了解更多信息。
--experimentalDecorators [1] boolean false启用实验性的ES装饰器。
--extendedDiagnosticsbooleanfalse显示详细的诊段信息。
--forceConsistentCasingInFileNames boolean false禁止对同一个文件的不一致的引用。
--help
-h
打印帮助信息。
--importHelpers string tslib 导入辅助工具函数(比如 __extends__rest等)
--inlineSourceMap boolean false生成单个sourcemaps文件,而不是将每sourcemaps生成不同的文件。
--inlineSources boolean false将代码与sourcemaps生成到一个文件中,要求同时设置了 --inlineSourceMap--sourceMap属性。
--init初始化TypeScript项目并创建一个 tsconfig.json文件。
--isolatedModules boolean false将每个文件作为单独的模块(与“ts.transpileModule”类似)。
--jsx string "Preserve".tsx文件里支持JSX: "React""Preserve"。查看 JSX
--jsxFactory string "React.createElement"指定生成目标为react JSX时,使用的JSX工厂函数,比如 React.createElementh
--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 ES5DOM,ES5,ScriptHost
► 针对于--target ES6DOM,ES6,DOM.Iterable,ScriptHost
--listEmittedFiles boolean false打印出编译后生成文件的名字。
--listFiles boolean false编译过程中打印文件名。
--locale string (platform specific)显示错误信息时使用的语言,比如:en-us。
--mapRoot string为调试器指定指定sourcemap文件的路径,而不是使用生成时的路径。当 .map文件是在运行时指定的,并不同于 js文件的地址时使用这个标记。指定的路径会嵌入到 sourceMap里告诉调试器到哪里去找它们。
--maxNodeModuleJsDepth number 0node_modules依赖的最大搜索深度并加载JavaScript文件。仅适用于 --allowJs
--module
-m
string target === "ES6" ? "ES6" : "commonjs"指定生成哪个模块系统代码: "None""CommonJS""AMD""System""UMD""ES6""ES2015"
► 只有 "AMD""System"能和 --outFile一起使用。
"ES6""ES2015"可使用在目标输出为 "ES5"或更低的情况下。
--moduleResolution string module === "AMD" or "System" or "ES6" ? "Classic" : "Node" 决定如何处理模块。或者是"Node"对于Node.js/io.js,或者是"Classic"(默认)。查看模块解析了解详情。
--newLine string (platform specific)当生成文件时指定行结束符: "crlf"(windows)或 "lf"(unix)。
--noEmit boolean false不生成输出文件。
--noEmitHelpers boolean false不在输出文件中生成用户自定义的帮助函数代码,如 __extends
--noEmitOnError boolean false报错时不生成输出文件。
--noErrorTruncation boolean false不截短错误消息。
--noFallthroughCasesInSwitch boolean false报告switch语句的fallthrough错误。(即,不允许switch的case语句贯穿)
--noImplicitAny boolean false在表达式和声明上有隐含的 any类型时报错。
--noImplicitReturns boolean false不是函数的所有返回路径都有返回值时报错。
--noImplicitThis boolean falsethis表达式的值为 any类型的时候,生成一个错误。
--noImplicitUseStrict boolean false模块输出中不包含 "use strict"指令。
--noLib boolean false不包含默认的库文件( lib.d.ts)。
--noResolve boolean false不把 /// <reference``>或模块导入的文件加到编译文件列表。
--noStrictGenericChecks boolean false禁用在函数类型里对泛型签名进行严格检查。
--noUnusedLocals boolean false若有未使用的局部变量则抛错。
--noUnusedParameters boolean false若有未使用的参数则抛错。
--out string弃用。使用 --outFile 代替。
--outDir string重定向输出目录。
--outFile string将输出文件合并为一个文件。合并的顺序是根据传入编译器的文件顺序和 ///<reference``>import的文件顺序决定的。查看输出文件顺序文件了解详情。
paths [2] Object模块名到基于 baseUrl的路径映射的列表。查看 模块解析文档了解详情。
--preserveConstEnums boolean false保留 constenum声明。查看 const enums documentation了解详情。
--preserveSymlinks boolean false不把符号链接解析为其真实路径;将符号链接文件视为真正的文件。
--preserveWatchOutputbooleanfalse保留watch模式下过时的控制台输出。
--pretty [1] boolean false给错误和消息设置样式,使用颜色和上下文。
--project
-p
string编译指定目录下的项目。这个目录应该包含一个 tsconfig.json文件来管理编译。查看 tsconfig.json文档了解更多信息。
--reactNamespace string "React"当目标为生成 "react" JSX时,指定 createElement__spread的调用对象
--removeComments boolean false删除所有注释,除了以 /!*开头的版权信息。
--rootDir string (common root directory is computed from the list of input files)仅用来控制输出的目录结构 --outDir
rootDirs [2] string[] 根(root)文件夹列表,表示运行时组合工程结构的内容。查看 模块解析文档了解详情。
--skipDefaultLibCheck boolean false忽略 库的默认声明文件的类型检查。
--skipLibCheck boolean false忽略所有的声明文件( *.d.ts)的类型检查。
--sourceMap boolean false生成相应的 .map文件。
--sourceRoot string指定TypeScript源文件的路径,以便调试器定位。当TypeScript文件的位置是在运行时指定时使用此标记。路径信息会被加到 sourceMap里。
--strict boolean false启用所有严格类型检查选项。
启用 --strict相当于启用 --noImplicitAny, --noImplicitThis, --alwaysStrict--strictNullChecks--strictFunctionTypes--strictPropertyInitialization
--strictFunctionTypes boolean false禁用函数参数双向协变检查。
--strictPropertyInitializationbooleanfalse确保类的非undefined属性已经在构造函数里初始化。若要令此选项生效,需要同时启用--strictNullChecks
--strictNullChecks boolean false在严格的 null检查模式下, nullundefined值不包含在任何类型里,只允许用它们自己和 any来赋值(有个例外, undefined可以赋值到 void)。
--stripInternal [1] boolean false不对具有 /** @internal */ JSDoc注解的代码生成代码。
--suppressExcessPropertyErrors [1] boolean false阻止对对象字面量的额外属性检查。
--suppressImplicitAnyIndexErrors boolean false阻止 --noImplicitAny对缺少索引签名的索引对象报错。查看 issue #1232了解详情。
--target
-t
string "ES3"指定ECMAScript目标版本 "ES3"(默认), "ES5""ES6"/ "ES2015""ES2016""ES2017""ESNext"

注意: "ESNext"最新的生成目标列表为 ES proposed features
--traceResolution boolean false生成模块解析日志信息
--types string[]要包含的类型声明文件名列表。查看 @types,–typeRoots和–types章节了解详细信息。
--typeRoots string[]要包含的类型声明文件路径列表。查看 @types,–typeRoots和–types章节了解详细信息。
--version
-v
打印编译器版本号。
--watch
-w
在监视模式下运行编译器。会监视输出文件,在它们改变时重新编译。监视文件和目录的具体实现可以通过环境变量进行配置。详情请看配置 Watch
  • [1] 这些选项是试验性的。
  • [2] 这些选项只能在 tsconfig.json里使用,不能在命令行使用。

相关信息

作者:terry,如若转载,请注明出处:https://www.web176.com/typescript/1344.html

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2020年12月14日 下午6:07
下一篇 2020年12月14日 下午6:16

相关推荐

发表回复

登录后才能评论