在定义tsconfig.json 中一直搞不懂 files,typeRoots,include 直接的关系
files
显示指定具体文件的路径,个人理解为更细度的指定解析的ts 文件 优先级最高
{
files:[
"src/main.ts",
"src/core/utils.ts"
]
}
include include
通过 glob 模式 匹配需要编译的文件或目录。
适用于批量包含文件,是 最常用的配置。
{
"include": [
"src/**/*.ts", // 包含 src 下所有 .ts 文件
"types/**/*.d.ts" // 包含 types 下所有类型声明文件
]
}
typeRoots
指定TS 去查找全局类型声明文件的根目录,用于控制第三方库或自定义全局类型的查找位置
默认的情况下 ts 会去"node_modules/@types" 自动去找类型声明文件
{
"compilerOptions": {
"typeRoots": [
"./node_modules/@types", // 默认值,保留对第三方库类型的支持
"./src/types" // 添加自定义全局类型的目录
]
}
}
types
显式的指出 需要包含的全局类型包名称,没有指定将忽略 用于优化编译速度
{
"compilerOptions": {
"types": [
"element-ui",
"vite/client"
]
}
}