根字段
首先介绍的是 TSConfig 中的根级选项——这些选项与你如何配置 TypeScript 或 JavaScript 项目有关。
# 文件 - files
指定要包含到程序中的文件允许列表。只要有文件找不到,就会发生错误。
{"": {},"": ["core.ts","sys.ts","types.ts","scanner.ts","parser.ts","utilities.ts","binder.ts","checker.ts","tsc.ts"]}
当你只有少量文件、不需要用 glob 来引用大量文件时,这个选项很有用。如果你需要那样做,请使用 include。
- 默认值:
false - 相关:
include
exclude
- 发布于:
1.5
# 继承 - extends
extends 的值是一个字符串,其中包含要继承的另一个配置文件的路径。该路径可以使用 Node.js 风格的解析方式。
先加载基础文件中的配置,再由继承它的配置文件中的配置覆盖。配置文件中出现的所有相对路径,都会相对于它们原本所在的配置文件来解析。
需要注意的是,继承配置中的 files、include 和 exclude 会覆盖基础配置文件中的对应项;此外,配置文件之间不允许出现循环引用。
目前,唯一不参与继承的顶层属性是 references。
示例
configs/base.json:
{"": {"": true,"": true}}
tsconfig.json:
{"": "./configs/base","": ["main.ts", "supplemental.ts"]}
tsconfig.nostrictnull.json:
{"": "./tsconfig","": {"": false}}
配置文件中带有相对路径、且未被排除在继承之外的属性,会相对于它们原本所在的配置文件来解析。
- 默认值:
false - 发布于:
2.1
# 包含 - include
指定一个文件名或模式数组,用于包含到程序中。这些文件名会相对于包含 tsconfig.json 文件的目录来解析。
json{"include": ["src/**/*", "tests/**/*"]}
这会包含:
.├── scripts ⨯│ ├── lint.ts ⨯│ ├── update_deps.ts ⨯│ └── utils.ts ⨯├── src ✓│ ├── client ✓│ │ ├── index.ts ✓│ │ └── utils.ts ✓│ ├── server ✓│ │ └── index.ts ✓├── tests ✓│ ├── app.test.ts ✓│ ├── utils.ts ✓│ └── tests.d.ts ✓├── package.json├── tsconfig.json└── yarn.lock
include 和 exclude 支持使用通配符来构成 glob 模式:
*匹配零个或多个字符(不包括目录分隔符)?匹配任意单个字符(不包括目录分隔符)**/匹配任意层级的嵌套目录
如果模式中最后一段路径不包含文件扩展名或通配符,那么它会被视为目录,并包含该目录下具有受支持扩展名的文件(例如默认包含 .ts、.tsx 和 .d.ts;如果 allowJs 设置为 true,则还会包含 .js 和 .jsx)。
- 默认值:
如果指定了
files,则为[];否则为**/*。 - 相关:
files
exclude
- 发布于:
2.0
# 排除 - exclude
# 引用 - references
项目引用是一种将 TypeScript 程序组织成更小片段的方式。使用项目引用可以大幅缩短构建时间和编辑器交互时间,强制组件之间的逻辑分离,并以全新的改进方式组织代码。
你可以在手册的项目引用章节中进一步了解引用的工作原理
- 默认值:
false - 发布版本:
3.0