TypeScript 编译选项通过 tsconfig.json 文件中的 "compilerOptions" 字段配置。以下是一些常见的 TypeScript 编译选项及其含义:

1. target: 指定编译后的 ECMAScript 目标版本。
    "compilerOptions": {
      "target": "es5"
    }

    - "es3": ECMAScript 3(默认)
    - "es5": ECMAScript 5
    - "es6": ECMAScript 2015
    - "es2015", "es2016", "es2017", "es2018", "es2019", "es2020": 根据年份指定版本
    - "esnext": 使用最新的 ECMAScript 版本

2. module: 指定生成的模块系统。
    "compilerOptions": {
      "module": "commonjs"
    }

    - "commonjs": CommonJS
    - "amd": AMD
    - "system": SystemJS
    - "umd": UMD
    - "es2015", "esnext": ECMAScript 模块

3. outDir: 指定输出目录,编译后的文件将放置在该目录中。
    "compilerOptions": {
      "outDir": "./dist"
    }

4. strict: 启用所有严格的类型检查选项。
    "compilerOptions": {
      "strict": true
    }

    该选项启用了一系列严格的类型检查规则,包括 "noImplicitAny", "noImplicitThis", "strictNullChecks" 等。

5. esModuleInterop: 启用 CommonJS 模块交互性。
    "compilerOptions": {
      "esModuleInterop": true
    }

    当导入 CommonJS 模块时,允许使用 import * as fs from 'fs'; 形式的导入。

6. include 和 exclude: 指定编译器应该处理的文件或目录。
    "include": ["src/**/*.ts"],
    "exclude": ["node_modules"]

7. types 和 typeRoots: 用于引入第三方库的声明文件。
    "compilerOptions": {
      "types": ["node"],
      "typeRoots": ["node_modules/@types", "typings"]
    }

8. lib: 指定编译器需要包含的默认库文件。
    "compilerOptions": {
      "lib": ["es6", "dom"]
    }

    默认情况下,编译器包含 "lib": ["lib.d.ts"] 中定义的默认库文件。

这些只是 TypeScript 编译选项的一小部分。在配置项目时,可以根据项目的具体需求选择适当的选项。更多详细信息,请参阅 TypeScript 官方文档的 [编译选项部分](https://www.typescriptlang.org/tsconfig#compiler-options)。


转载请注明出处:http://www.zyzy.cn/article/detail/4725/TypeScript