TypeScript 编译选项 - 文章教程

TypeScript 编译选项

发布于 2021-09-03 字数 7508 浏览 1104 评论 0

选项 简写 描述
--declaration -d 生成对应的 ‘.d.ts’ 文件.
--help -h 打印帮助信息.
--version -v 打印编译器版本.
--module -m 指定模块代码生成: ‘commonjs’, ‘amd’, ‘system’, ‘umd’, 或者 ‘es2015’. 只有 ‘amd’ 和 ‘system’ 可以和 --outFile 一起使用. 当便以目标为 ES5 或者更低时不能使用值 ‘es2015’.
--project -p 编译给定目录中的项目. 该目录中需要有一个 tsconfig.json 文件用于直接编译. 参考 tsconfig.json 文档了解更多.
--target -t 指定 ECMAScript 目标版本: ‘ES3’ (默认), ‘ES5’, or ‘ES6’[1]
--watch -w 使用监听模式执行编译. 监视输入文件并在发生变化时触发重新编译.
--charset 输入文件的字符集.
--diagnostics 输出诊断信息.
--emitBOM 在输出文件的开头添加 UTF-8 字节顺序标记 (BOM).
--emitDecoratorMetadata[1] 为被源码中被装饰的声明输出设计类型元数据. 见 issue #2577 了解详情.
--experimentalDecorators 启用对 ES7 装饰器的试验性支持.
--inlineSourceMap 将 source map 包含在输出文件中, 而不输出单独的文件.
--inlineSources 将源代码和 source map 输出到同一个文件中. 需要 --inlineSourceMap--sourceMap 被启用.
--isolatedModules 对于未解析的文件无条件输出导入项.
--jsx 支持 ‘.tsx’ 文件中的 JSX: ‘React’ 或 ‘Preserve’. 参考 JSX.
--reactNamespace 指定使用 ‘react’ 作为 JSX 输出设置时用于调用 createElement__spread 的对象.
--listFiles 输出编译时的文件部分名称.
--locale 错误信息的地域, 比如 en-us.
--mapRoot 指定调试器定位 map 文件的位置, 而不使用生成代码的位置. 当运行时 .map 文件和对应的 .js 文件不在同一位置时需要指定该位置. 指定的位置会被内嵌到 source map 中告诉调试器 map 文件所在的位置.
--moduleResolution 决定模块被解析的方式. 可以是用于 Node.js/io.js 解析风格风格的 ‘node’, 或者 ‘classic’ (默认).
--newLine 输出文件时使用指定的换行符: ‘CRLF’ (dos) 或 ‘LF’ (unix).
--noEmit 不进行文件输出.
--noEmitOnError 在有任何错误时都不输出文件.
--noEmitHelpers 不在编译结果中生成自定义的像 __extends 的辅助函数.
--noImplicitAny 在表达式或者声明包含隐式的 ‘any’ 类型是报错.
--noLib 不引入默认的库文件 (lib.d.ts).
--noResolve 在被编译的文件列表中不列出由三斜线引用的和导入的目标文件.
--skipDefaultLibCheck 跳过默认库文件检查.
--out 已弃用. 请使用 --outFile 代替.
--outDir 将文件输出到指定文件夹.
--outFile 将输出内容合并为单个文件. 合并的顺序由在命令行中传给编译器的列表与三斜线引用及导入决定. 查看输出文件顺序文档了解更多.
--preserveConstEnums 在生成的代码中保留常量枚举声明. 查看常量枚举文档 了解更多.
--pretty[1] 使用颜色和上下文丰富报错和信息.
--removeComments 移除除以 /*! 开头的版权头信息以外的所有注释.
--rootDir 指定输入文件的根目录. 仅用于和 --outDir 一起控制输出文件的目录结构.
--sourceMap 生成对应的 ‘.map’ 文件.
--sourceRoot 指定 debugger 定位 TypeScript 文件的位置 (而不是源文件地址). 当源文件在运行时与设计时在不同位置时可以使用此选项. 指定的位置将被嵌入 source map 来告知 debugger 去哪里寻找这些文件.
--stripInternal[1] 不输出有 /** @internal */ JSDoc 标注代码的声明.
--suppressExcessPropertyErrors[1] 不检查对象字面量多余的属性.
--suppressImplicitAnyIndexErrors 忽略没有索引签名对象的 --noImplicitAny 错误. 见 issue #1232 了解更多.
--allowUnusedLabels 不对未使用的标签报错.
--noImplicitReturns 当函数中有代码路径没有返回值时报错.
--noFallthroughCasesInSwitch 对 switch 语句中贯穿的 case 报错.
--allowUnreachableCode 不对无法到达的语句报错.
--forceConsistentCasingInFileNames 禁止对同一个文件大小写不一致的引用.
--allowSyntheticDefaultImports 允许对没有默认输出的模块进行默认导入. 这不会影响代码输出, 仅用于进行类型检查.
--allowJs 允许编译 JavaScript 文件.
--noImplicitUseStrict 在输出的模块中不增加 "use strict" 指令.

[1] 这些选项是试验性的.

相关信息

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

2512 文章
30 评论
81905 人气
更多

推荐作者

qq_iQVWB

文章 0 评论 0

gyhjy

文章 0 评论 0

dianjvnan

文章 0 评论 0