概述
目录中存在 tsconfig.json
文件表示该目录是 TypeScript 项目的根目录。tsconfig.json
文件指定了根文件和编译项目所需的编译器选项。
JavaScript 项目可以使用 jsconfig.json
文件,它几乎具有相同的作用,但默认情况下启用了一些与 JavaScript 相关的编译器标志。
项目可以通过以下方式之一进行编译
使用 tsconfig.json
或 jsconfig.json
- 通过不带任何输入文件调用 tsc,在这种情况下,编译器将从当前目录开始向上搜索父目录链中的
tsconfig.json
文件。 - 通过不带任何输入文件和
--project
(或仅-p
)命令行选项调用 tsc,该选项指定包含tsconfig.json
文件的目录的路径,或包含配置的有效.json
文件的路径。
当在命令行中指定输入文件时,将忽略 tsconfig.json
文件。
示例
示例 tsconfig.json
文件
-
使用
files
属性{" ": {" ": "commonjs"," ": true," ": true," ": true," ": true}," ": ["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"]} -
{" ": {" ": "system"," ": true," ": true," ": true," ": "../../built/local/tsc.js"," ": true}," ": ["src/**/*"]," ": ["**/*.spec.ts"]}
TSConfig 基础
根据您打算在其中运行代码的 JavaScript 运行时环境,您可以在 github.com/tsconfig/bases 中找到一个基础配置。这些是 tsconfig.json
文件,您的项目从中扩展,通过处理运行时支持来简化您的 tsconfig.json
。
例如,如果您正在编写一个使用 Node.js 12 及更高版本的项目,那么您可以使用 npm 模块 @tsconfig/node12
{" ": "@tsconfig/node12/tsconfig.json"," ": {" ": true}," ": ["src/**/*"]," ": ["**/*.spec.ts"]}
这能让您的 tsconfig.json
专注于项目的独特选择,而不是所有的运行时机制。已经有一些 tsconfig 基础,我们希望社区能够为不同的环境添加更多基础。
详细信息
可以省略 "compilerOptions"
属性,在这种情况下,将使用编译器的默认值。请参阅我们支持的完整 编译器选项列表。
TSConfig 参考
要了解 TSConfig 参考 中的数百个配置选项的更多信息。
架构
tsconfig.json
架构可以在 JSON 架构存储库 中找到。