{
  "compilerOptions": {
    "target": "esnext", // 指定ECMAScript目标版本
    "lib": ["dom", "dom.iterable", "esnext"], // 要包含在编译中的库文件列表
    "allowJs": true, // 允许编译JavaScript文件
    "skipLibCheck": true, // 跳过所有声明文件的类型检查
    "esModuleInterop": true, // 禁用命名空间导入（import * as fs from "fs"），并启用CJS/AMD/UMD样式的导入（import fs from "fs"）
    "allowSyntheticDefaultImports": true, // 允许从没有默认导出的模块进行默认导入
    "strict": true, // 启用所有严格类型检查选项
    "forceConsistentCasingInFileNames": false, // 允许对同一文件的引用使用不一致的大小写
    "module": "esnext", // 指定模块代码生成
    "moduleResolution": "node", // 使用Node.js样式解析模块
    "isolatedModules": true, // 无条件地为未解析的文件发出导入
    "resolveJsonModule": true, // 包含.json扩展名的模块
    "noEmit": true, // 不发出输出（即不编译代码，只进行类型检查）
    "jsx": "react-jsx", // 在.tsx文件中支持JSX
    "sourceMap": true, // 生成相应的.map文件
    "declaration": true, // 生成相应的.d.ts文件
    "noUnusedLocals": true, // 报告未使用的局部变量错误
    "noUnusedParameters": true, // 报告未使用的参数错误
    "incremental": true, // 通过读写磁盘上的文件来启用增量编译
    "noFallthroughCasesInSwitch": true, // 报告switch语句中的fallthrough案例错误
    "strictNullChecks": true, // 启用严格的null检查
    "baseUrl": "./",
    "paths": {
      "@/*": ["src/*"],
      "@@/*": ["src/.umi/*"]
    }
  },
  "include": [
    "src/**/*" // *** TypeScript应该检查的文件 ***
  ]
}
