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 项目的目的。