编译器
TypeScript 编译器是一个命令行工具,它可以将 TypeScript 源代码编译成 JavaScript 代码。
tsc 命令行工具
TypeScript 编译器的命令行工具是 tsc,它可以编译单个文件,也可以编译整个项目。
bash
tsc [options] [file...]编译器选项
TypeScript 编译器有很多选项,可以通过命令行参数或者配置文件来设置。
-h, --help:显示帮助信息。-v, --version:显示版本信息。-p, --project:指定一个包含编译配置的项目文件。-t, --target:指定 ECMAScript 目标版本。-m, --module:指定模块代码生成方式。-d, --declaration:生成相应的.d.ts 文件。-s, --sourceMap:生成相应的.map 文件。-w, --watch:监视输入文件变化,重新编译。--preserveWatchOutput:保留 watch 过程中产生的输出。--pretty:使用颜色和上下文化输出错误。--allowJS:允许编译 JavaScript 文件。--jsx:指定 JSX 代码的生成方式。--outDir:指定输出目录。--rootDir:指定根目录。--esModuleInterop:允许使用esModuleInterop选项。--resolveJsonModule:允许导入 JSON 文件。--noEmit:不生成输出文件。--noEmitOnError:不生成输出文件,除非有错误。--declarationDir:指定生成声明文件的文件夹。--incremental:使用增量编译。--tsBuildInfoFile:指定.tsbuildinfo 文件的路径。--listFiles:列出编译后的文件。--diagnostics:显示诊断信息。--extendedDiagnostics:显示详细诊断信息。--preserveSymlinks:保留符号链接。--skipLibCheck:跳过库的类型检查。--forceConsistentCasingInFileNames:强制对文件名使用一致的大小写。--disableSourceOfProjectReferenceRedirect:禁用项目引用重定向的源。--disableSolutionSearching:禁用解决方案搜索。--newLine:指定换行符。--charset:指定编译后的文件编码。--emitBOM:在输出文件开头添加 UTF-8 字节顺序标记。--preserveComments:保留注释。--emitDecoratorMetadata:在编译后的 JavaScript 文件中保留装饰器元数据。--experimentalDecorators:启用实验性的装饰器。--emitDeclarationOnly:仅生成声明文件。--stripInternal:删除所有带有 @internal 标签的声明。--diagnostics:显示诊断信息。--extendedDiagnostics:显示详细诊断信息。--preserveSymlinks:保留符号链接。--skipLibCheck:跳过库的类型检查。--forceConsistentCasingInFileNames:强制对文件名使用一致的大小写。--disableSourceOfProjectReferenceRedirect:禁用项目引用重定向的源。--disableSolutionSearching:禁用解决方案搜索。--newLine:指定换行符。--charset:指定编译后的文件编码。--emitBOM:在输出文件开头添加 UTF-8 字节顺序标记。--preserveComments:保留注释。--emitDecoratorMetadata:在编译后的 JavaScript 文件中保留装饰器元数据。--experimentalDecorators:启用实验性的装饰器。--emitDeclarationOnly:仅生成声明文件。--stripInternal:删除所有带有 @internal 标签的声明。
编译上下文
编译器的上下文包括:
- 编译器选项
- 编译环境
- 输入文件
- 输出文件
- 依赖关系
- 类型声明文件
- 编译缓存
