TypeScript 的 tsc(TypeScript Compiler)命令行工具是用于编译 TypeScript 项目的主要工具,它支持多种命令行选项来控制编译器的行为。这些选项可以用来指定编译的输入文件、输出目录、目标版本等等。以下是一些常见的 tsc 命令行选项及其用法:
常见的 tsc CLI Options
- --help
显示 tsc 命令行帮助信息,列出所有可用的命令行选项。tsc --help
- --version
显示 TypeScript 编译器的版本信息。tsc --version
- --target
指定编译后的 ECMAScript 目标版本。可选值包括ES3
,ES5
,ES6/ES2015
,ES2016
,ES2017
,ES2018
,ES2019
,ES2020
,ESNext
等。tsc --target ES5
- --module
指定生成的模块系统。可选值包括CommonJS
,AMD
,UMD
,System
,ES6/ES2015
,ES2020
,ESNext
等。tsc --module CommonJS
- --outDir
指定输出目录,用来存放编译后的 JavaScript 文件。tsc --outDir dist
- --sourceMap
是否生成 source map 文件,用于在调试时将编译后的 JavaScript 代码映射回 TypeScript 源代码。tsc --sourceMap
- --strict
开启所有严格类型检查选项。相当于同时启用--noImplicitAny
,--noImplicitThis
,--alwaysStrict
,--strictNullChecks
,--strictFunctionTypes
,--strictPropertyInitialization
,--strictBindCallApply
。tsc --strict
- --noEmit
不生成任何输出文件,只进行类型检查。tsc --noEmit
- --watch
监视文件变化并重新编译。在开发过程中常用来实时监控文件变化并自动重新编译。tsc --watch
- --esModuleInterop
允许在导入默认导出时使用 CommonJS 的require
语法。tsc --esModuleInterop
- --declaration
是否生成.d.ts
声明文件。tsc --declaration
- --allowJs
允许编译器编译.js
文件。tsc --allowJs
示例
假设我们有一个 TypeScript 项目,项目文件结构如下:
src/
index.ts
tsconfig.json
index.ts
文件内容如下:
function greet(person: string) {
console.log(`Hello, ${person}!`);
}
greet('Alice');
我们可以使用 tsc 命令行工具来编译这个 TypeScript 文件:
tsc src/index.ts --outDir dist --target ES5 --module CommonJS --sourceMap
这个命令将会把 index.ts
编译成 dist/index.js
和 dist/index.js.map
文件,使用 ES5
目标版本,CommonJS
模块系统,并生成 source map 文件以便在调试时进行源代码映射。
总结
tsc 命令行工具提供了丰富的选项来控制 TypeScript 的编译行为,可以根据项目需求和特定的环境配置相应的选项。这些选项可以通过直接在命令行中指定,也可以在项目的 tsconfig.json
文件中进行配置,以达到灵活和高效地管理 TypeScript 项目的目的。