{
"compilerOptions": {
// 设置目标 JavaScript 版本(ECMAScript 标准)
"target": "es2020",
// 模块系统类型:ESNext 表示使用现代 ES Module 系统
"module": "esnext",
// 模块解析策略:node 表示使用 Node.js 的模块解析方式
"moduleResolution": "node",
// 启用所有严格的类型检查选项(包括 null 检查、函数类型检查等)
"strict": true,
// 是否允许通过 import 引入 CommonJS 模块(解决第三方库兼容问题)
"esModuleInterop": true,
// 允许对没有默认导出的模块使用默认导入语法(如 import React from 'react')
"allowSyntheticDefaultImports": true,
// 是否启用 tslib 辅助函数导入(减少重复代码,适用于打包工具)
"importHelpers": true,
// 是否将 JSX 转换为 JS 函数调用(用于 React)或保留原始 JSX(用于 Vue)
"jsx": "preserve",
// 是否允许从没有默认导出的模块中使用默认导入(提高兼容性)
"allowUmdGlobalAccess": false,
// 是否在编译时保留装饰器元信息(用于依赖反射的框架,如 NestJS)
"emitDecoratorMetadata": true,
// 是否支持实验性装饰器语法(用于 Angular / NestJS)
"experimentalDecorators": true,
// 是否允许从 node_modules 中导入 JSON 文件
"resolveJsonModule": true,
// 是否将外部模块标记为默认导出(用于某些构建工具)
"isolatedModules": false,
// 是否生成声明文件(.d.ts)用于发布 npm 包
"declaration": false,
// 声明文件输出目录(与 declaration 配合使用)
"declarationDir": "./dist/types",
// 是否启用 source map,便于调试
"sourceMap": true,
// 是否移除所有注释
"removeComments": false,
// 是否拼接模块 ID 作为名称(用于调试)
"noEmit": false,
// 不生成输出文件(仅进行类型检查)
"noEmit": true,
// 是否允许非模块脚本文件(如全局变量脚本)存在
"allowJs": false,
// 是否检查 .js 文件中的类型(配合 allowJs 使用)
"checkJs": false,
// 是否将顶层的 await 支持编译为目标版本
"moduleDetection": "auto",
// 是否启用增量编译(加快后续构建速度)
"incremental": true,
// 增量编译信息保存目录
"tsBuildInfoFile": "./build/.tsbuildinfo",
// 是否启用项目引用(多项目构建优化)
"composite": false,
// 是否启用严格模式下的额外检查(如未实现接口方法报错)
"skipLibCheck": false,
// 编译输出目录,编译后的 .js 文件会放在该路径下
"outDir": "./dist",
// 根目录路径,影响模块导入相对路径解析
"rootDir": "./src",
// 类型定义文件或全局类型支持(例如 Vite 和 Vue 的类型声明)
"types": ["vite/client", "vue"],
// 指定额外的 lib 库(DOM、ES2020 等)
"lib": ["es2020", "dom", "dom.iterable", "scripthost"]
},
// 指定 TypeScript 编译器应包含哪些目录中的文件
"include": ["src/**/*"],
// 指定 TypeScript 编译器应排除哪些目录或文件
"exclude": ["node_modules", "**/*.spec.ts"]
}
01-25
458
458
06-28
1万+
1万+

被折叠的 条评论
为什么被折叠?



