{
  "compilerOptions": {
    "composite": true, // 标记为复合项目的一部分 [ty-reference](1)
    "target": "ES2020", // 设置目标 JavaScript 语言标准版本
    "useDefineForClassFields": true, // 为类字段使用 `defineProperty`，以支持装饰器
    "module": "ESNext", // 设置模块系统
    "lib": [ // 指定要包含的类型库
      "ES2020", // 包含 ES2020 的类型定义
      "DOM", // 包含 DOM 类型定义
      "DOM.Iterable" // 包含 DOM 可迭代类型定义
    ],
    "skipLibCheck": true, // 忽略类型库的类型检查
    /* Bundler mode */
    "moduleResolution": "bundler", // 设置模块解析策略为 bundler 模式
    "allowImportingTsExtensions": true, // 允许导入 TypeScript 扩展名
    "isolatedModules": true, // 将每个文件视为一个模块
    "moduleDetection": "force", // 强制将所有模块视为 ESM
    "noEmit": false, // 允许发出文件
    "declaration": true, // 如果需要生成 .d.ts 文件
    "emitDeclarationOnly": true, // 只发出声明文件，而不生成 JS 文件
    "jsx": "preserve", // 保留 JSX 节点，不转换
    "jsxImportSource": "vue", // JSX 元素来自 Vue
    /* Linting */
    "strict": false, // 开启所有严格类型检查选项
    "noUnusedLocals": true, // 报告未使用的局部变量
    "noUnusedParameters": true, // 报告未使用的参数
    "noFallthroughCasesInSwitch": true, // 报告 switch 语句中的 fallthrough 错误
    "baseUrl": "./", // 设置基础模块解析目录
    /* 配置别名 */
    "paths": { // 设置路径映射
      "@/*": [ // 将 @/ 映射到 src/ 目录
        "./src/*"
      ]
    },
    "allowSyntheticDefaultImports": true // 允许默认导入
  },
  "include": [ // 指定包含的文件
    "src/**/*.ts", // 包括 src 目录下的所有 TypeScript 文件
    "src/**/*.d.ts", // 包括 src 目录下的所有类型声明文件
    "src/**/*.tsx", // 包括 src 目录下的所有 JSX 文件
    "src/**/*.vue", // 包括 src 目录下的所有 Vue 文件
    "global.d.ts"
  ]
}
// // 脚手架自带 配置：
// {
//   "compilerOptions": {
//     "target": "ES2020",
//     "useDefineForClassFields": true,
//     "module": "ESNext",
//     "lib": [
//       "ES2020",
//       "DOM",
//       "DOM.Iterable"
//     ],
//     "skipLibCheck": true,
//     /* Bundler mode */
//     "moduleResolution": "bundler",
//     "allowImportingTsExtensions": true,
//     "isolatedModules": true,
//     "moduleDetection": "force",
//     "noEmit": true,
//     "jsx": "preserve",
//     /* Linting */
//     "strict": true,
//     "noUnusedLocals": true,
//     "noUnusedParameters": true,
//     "noFallthroughCasesInSwitch": true,
//     "baseUrl": "/",
//     /* 配置别名 */
//     "paths": {
//       "@/*": [
//         "./src/*"
//       ]
//     },
//   },
//   "include": [
//     "src/**/*.ts",
//     "src/**/*.tsx",
//     "src/**/*.vue"
//   ]
// }