Skip to content
赞助商
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待

什么是 tsconfig.json ​

概述 ​

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

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

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

使用 tsconfig.json 或 jsconfig.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"
      ]
    }
  • 使用 include 和 exclude 属性

    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 模式仓库 中找到。