tsconfig.json核心配置
- 根属性名compilerOptions:
lib:库选项
一般是写 “esnext” ,这个一般会直接找到ES的最新版本
还有一个比较重要的就是 “DOM”,这是网页窗口,文档对象模型
target:目标选项
一般是指定项目目标版本,一般是填入"Esnext",这可以直接定义到最新版本的ES
module:表示TS编译成JS之后所使用的规范
一般是填入"CommonJS"
rootDir和outDir讲过了,一个编译目录,一个存放目录
moduleResolution:“node” 采用node模块解析的方式查找文件。从内存到最高目录的外层查找 import引入的文件
moduleResolution:“classic” 采用classic模块解析的方式查找文件,从外层到内存方式查找,查找import引入的文件
resolveJsonModule:true 是否推迟引入JSON文件
allowJs:true 允许引入Javascript文件
checkJs:true 检查语法
declaratiion:true 生成生成文件.d.ts 对导出类型进行申明,相当于目录
sourcemap:true 自动匹配对应的js和ts文件
strict:true TS的严格模式的开关
strickNullchecks:true 限制对空值的检查
strictPropertyInitialization:true 严格的初始化检查,声明了的属性没有在constructor中声明就会报错
noImplicitReturn:true 不是函数的所有返回路径都有返回值时报错
removeComments:true TS文件编译后删除所有的注释
noUnusedLocals:true 报告未使用的局部变量的错误
noUnusedParameters:true 报告函数中未使用的参数错误
strict:true 该strict标志支持广泛的类型检查行为,从而更好地保证程序的正确性。打开此功能相当于启用所有严格模式系列选项
skipLibCheck:true 对声明文件是否跳过类型检查
typeRoots:[“node_modules/@types”]:声明文件的位置,默认情况下,所有可见的“ @types”包都包含在您的编译中。node_modules/@types任何封闭文件夹中的包都被视为可见。
types:“node”,“jquery”:第三方包,声明文件可出现在全局的种类,如果types指定,则只有列出的包才会包含在全局范围内。
jsx:控制JSX的构造,有react-native等等选项
experimentalDecorators:true TS装饰器必须开启的两选项之一,启用对与模块一起使用的装饰器发出类型元数据的实验性支持
emitDecoratorMetadata:true TS装饰器必须开启的两选项之一,发出装饰器元数据
baseUrl:“.” 为导入的路径设置别名,当前的工程目录
paths:{}
-
include
指定要包含在程序中的文件名或模式的数组。这些文件名是相对于包含该tsconfig.json文件的目录进行解析的 -
exclude
指定解析时应跳过的文件名或模式数组 -
extends
包含要继承的另一个配置文件的路径。该路径可以使用 Node.js 样式解析。