跳到主要内容

tsconfig 配置解析

长念
长念阅读约 7 分钟2 年前发布

tsconfig.json 文件是 TypeScript 项目的配置文件,它包含了编译器的配置选项。常用的配置属性如下:

compilerOptions

编译器的选项。

配置项说明默认值
target编译目标 JavaScript 版本,可以是 "ES3","ES5" 或 "ES2015" 等。
module指定模块系统,可以是 "CommonJS","AMD" 或 "System" 等。
sourceMap是否生成 sourcemap 文件。
outDir编译输出目录。
rootDir设置项目的根目录。
strict是否开启严格类型检查。
noImplicitAny是否禁止隐式 any 类型。
lib指定要包含在编译中的库文件,如 "es2015"。
paths指定模块路径别名。
baseUrl指定基础目录。
jsx指定 JSX 的处理方式。
allowJs是否允许编译 JavaScript 文件。
checkJs是否检查 JavaScript 文件。
declaration是否生成声明文件。
declarationMap是否生成声明文件的 sourcemap。
emitDecoratorMetadata是否支持装饰器。
experimentalDecorators是否支持实验性装饰器。
listEmittedFiles是否列出所有输出的文件。
listFiles是否列出所有编译过的文件。
locale指定本地化语言。
mapRoot指定 sourcemap 文件的根目录。
moduleResolution指定模块解析策略。
noEmit是否禁止输出 JavaScript 代码。
noEmitHelpers是否禁止输出辅助函数。
noEmitOnError是否在发生错误时禁止输出 JavaScript 代码。
noImplicitReturns是否禁止隐式返回。
noUnusedLocals是否检查未使用的局部变量。
noUnusedParameters是否检查未使用的参数。
preserveConstEnums是否保留 const 枚举。
pretty是否格式化输出的 JavaScript 代码。
removeComments是否移除注释。
skipLibCheck是否跳过检查库文件。
sourceRoot指定源文件的根目录。
suppressExcessPropertyErrors是否禁止过多属性错误。
suppressImplicitAnyIndexErrors是否禁止隐式 any 类型索引错误。
typeRoots指定类型声明文件的根目录。
types指定需要包含在编译中的类型声明文件。
watch是否监视文件变化并重新编译。

extends

指定继承自另一个 tsconfig.json 文件。

include

指定需要编译的文件路径或文件夹路径,如果指定了 files,默认值为 [],否则默认值为 **/*

exclude

指定不需要编译的文件路径或文件夹路径。

提示

include 和 exclude 支持通配符:

  • * 匹配零个或多个字符(不包括目录分隔符)
  • ? 匹配任何一个字符(不包括目录分隔符)
  • **/ 匹配嵌套到任何级别的任何目录

files

指定需要编译的文件列表,如果制定的文件找不到时会报错。当项目中只有一小部分 TS 文件时使用,如果文件较多建议使用 include

compileOnSave

指定是否在保存时编译文件。

buildOnSave

指定是否在保存时编译文件。