VVLL.net

tsc CLI Options

日期:2024-08-22 09:58:31

TypeScript 的 tsc(TypeScript Compiler)命令行工具是用于编译 TypeScript 项目的主要工具,它支持多种命令行选项来控制编译器的行为。这些选项可以用来指定编译的输入文件、输出目录、目标版本等等。以下是一些常见的 tsc 命令行选项及其用法:

常见的 tsc CLI Options

  1. --help
    显示 tsc 命令行帮助信息,列出所有可用的命令行选项。
    tsc --help
    
  2. --version
    显示 TypeScript 编译器的版本信息。
    tsc --version
    
  3. --target
    指定编译后的 ECMAScript 目标版本。可选值包括 ES3, ES5, ES6/ES2015, ES2016, ES2017, ES2018, ES2019, ES2020, ESNext 等。
    tsc --target ES5
    
  4. --module
    指定生成的模块系统。可选值包括 CommonJS, AMD, UMD, System, ES6/ES2015, ES2020, ESNext 等。
    tsc --module CommonJS
    
  5. --outDir
    指定输出目录,用来存放编译后的 JavaScript 文件。
    tsc --outDir dist
    
  6. --sourceMap
    是否生成 source map 文件,用于在调试时将编译后的 JavaScript 代码映射回 TypeScript 源代码。
    tsc --sourceMap
    
  7. --strict
    开启所有严格类型检查选项。相当于同时启用 --noImplicitAny, --noImplicitThis, --alwaysStrict, --strictNullChecks, --strictFunctionTypes, --strictPropertyInitialization, --strictBindCallApply
    tsc --strict
    
  8. --noEmit
    不生成任何输出文件,只进行类型检查。
    tsc --noEmit
    
  9. --watch
    监视文件变化并重新编译。在开发过程中常用来实时监控文件变化并自动重新编译。
    tsc --watch
    
  10. --esModuleInterop
    允许在导入默认导出时使用 CommonJS 的 require 语法。
    tsc --esModuleInterop
    
  11. --declaration
    是否生成 .d.ts 声明文件。
    tsc --declaration
    
  12. --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.jsdist/index.js.map 文件,使用 ES5 目标版本,CommonJS 模块系统,并生成 source map 文件以便在调试时进行源代码映射。

总结

tsc 命令行工具提供了丰富的选项来控制 TypeScript 的编译行为,可以根据项目需求和特定的环境配置相应的选项。这些选项可以通过直接在命令行中指定,也可以在项目的 tsconfig.json 文件中进行配置,以达到灵活和高效地管理 TypeScript 项目的目的。

参考

标签