typescript 中 tsconfig.json 配置

239 阅读1分钟

在定义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"     
    ]
  }
}