Skip to content
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待

什么是 tsconfig.json

概述

目录中存在 tsconfig.json 文件表示该目录是 TypeScript 项目的根目录。 tsconfig.json 文件指定了根文件和编译项目所需的编译器选项。

JavaScript 项目可以使用 jsconfig.json 文件,其作用几乎相同,但默认启用了一些与 JavaScript 相关的编译器标志。

项目通过以下方式之一进行编译:

使用 tsconfig.jsonjsconfig.json

  • 在不带输入文件的情况下调用 tsc,此时编译器从当前目录开始向上查找父目录链,搜索 tsconfig.json 文件。
  • 在不带输入文件的情况下调用 tsc,并带有一个 --project(或简称 -p)命令行选项,该选项指定包含 tsconfig.json 文件的目录的路径,或指定一个包含配置的有效 .json 文件的路径。

当在命令行上指定输入文件时,会忽略 tsconfig.json 文件。

示例

tsconfig.json 文件示例:

  • 使用 files 属性

    json
    {
      "compilerOptions": {
        "module": "commonjs",
        "noImplicitAny": true,
        "removeComments": true,
        "preserveConstEnums": true,
        "sourceMap": true
      },
      "files": [
        "core.ts",
        "sys.ts",
        "types.ts",
        "scanner.ts",
        "parser.ts",
        "utilities.ts",
        "binder.ts",
        "checker.ts",
        "emitter.ts",
        "program.ts",
        "commandLineParser.ts",
        "tsc.ts",
        "diagnosticInformationMap.generated.ts"
      ]
    }
  • 使用 includeexclude 属性

    json
    {
      "compilerOptions": {
        "module": "system",
        "noImplicitAny": true,
        "removeComments": true,
        "preserveConstEnums": true,
        "outFile": "../../built/local/tsc.js",
        "sourceMap": true
      },
      "include": ["src/**/*"],
      "exclude": ["**/*.spec.ts"]
    }

TSConfig 基础配置

根据你打算运行代码的 JavaScript 运行时环境,可能有一个可以在 github.com/tsconfig/bases 使用的基础配置。 这些是 tsconfig.json 文件,你的项目可以通过扩展它们来处理运行时支持,从而简化你的 tsconfig.json

例如,如果你正在编写一个使用 Node.js 12 及以上版本的项目,那么你可以使用 npm 模块 @tsconfig/node12

json
{
  "extends": "@tsconfig/node12/tsconfig.json",

  "compilerOptions": {
    "preserveConstEnums": true
  },

  "include": ["src/**/*"],
  "exclude": ["**/*.spec.ts"]
}

这使你的 tsconfig.json 可以专注于项目的独特选择,而不用处理所有运行时机制。目前已有几个 tsconfig 基础配置,我们希望社区能为不同环境添加更多。

详细信息

"compilerOptions" 属性可以省略,在这种情况下将使用编译器的默认值。请参阅我们支持的编译器选项的完整列表。

TSConfig 参考

要了解数百个配置选项的更多信息,请参阅 TSConfig 参考

模式

tsconfig.json 的模式可以在 JSON 模式仓库 中找到。