如果一个目录下存在一个
tsconfig.json
文件,那么它意味着这个目录是TypeScript项目的根目录。tsconfig.json
是编译器的配置文件,ts编译器可以根据它的信息来对代码进行编译
include
编译入口
用来指定那些ts文件需要ts文件需要被编译
路径中
** 表示任意目录
* 表示任意文件
exclude
排除文件夹
用来表示那些文件不会被编译
extends
继承的配置文件路径
定义被继承的配置文件
files
编译的文件列表
制定被编译的列表,只有需要编译的文件少时才会用到
compilerOptions
编译选项⭐⭐⭐⭐⭐(重要)
target
用来指定ts被编译为es的版本
值只能是下面的值
es3 es5 es6 es2015 es2016 es2017 es2018 es2020 esnext
module
指定要是有的模块化的规范
‘none’, ‘commonjs’, ‘amd’, ‘system’, ‘umd’, ‘es6’, ‘es2015’, ‘es2020’, ‘es2022’, ‘esnext’, ‘node16’, ‘nodenext’
lib 用来指定项目中药使用的库
一般不需要动 默认为浏览器环境
outDir
用来指定变异后文件所在的目录
outFile
将代码合并为一个文件
设置outFile后,所有的全局作用域中的代码会被合并到同一个文件中
allowJs 允许编译js文件
默认是编译.ts结尾的文件 如果allowJs为true 会编译文件夹下的 js文件
checkJs 是否检查js代码 是否符合语法规范
默认值为false
removeComments
移除注释
默认为false
noEmit 不生成打包文件
默认为false 使用场景比较少 主要是用于 只想使用ts的类型检查的情况
noEmitOnError
当有错误时 不生成编译文件
代码相关配置
alwaysStrict
用来设置编译后的文件是否使用严格模式
默认为false
strict
严格模式的总开关
如果开启了 strictNullChecks noImplicitAny noImplicitThis等严格模式下的检测都会打开