当前位置: 首页 > news >正文

002 vue3-admin项目的目录及文件说明之tsconfig.app.json

说明

tsconfig.app.json 是 TypeScript 配置文件,专门用于应用代码的编译配置。

基本结构

{"extends": "@vue/tsconfig/tsconfig.dom.json","compilerOptions": {"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo","types": ["vite/client"],/* Linting */"strict": true,"noUnusedLocals": true,"noUnusedParameters": true,"erasableSyntaxOnly": true,"noFallthroughCasesInSwitch": true,"noUncheckedSideEffectImports": true},"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"]
}

核心配置项

1 extends 属性

 "extends": "@vue/tsconfig/tsconfig.dom.json"
  • 作用:继承基础的 TypeScript 配置
  • 优势:保持配置的一致性,避免重复配置。此处使用 Vue 推荐的最佳实践配置
  • 继承关系:tsconfig.app.json 继承自@vue/tsconfig/tsconfig.dom.json(@vue/tsconfig 是 Vue 官方的 TypeScript 配置包)

2 compilerOptions 属性

  "compilerOptions": {"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo","types": ["vite/client"],/* Linting */"strict": true,"noUnusedLocals": true,"noUnusedParameters": true,"erasableSyntaxOnly": true,"noFallthroughCasesInSwitch": true,"noUncheckedSideEffectImports": true}
  • outDir:指定编译输出目录
  • tsBuildInfoFile:指定 TypeScript 增量编译信息文件的位置
    • 用于缓存编译信息,提高后续编译速度
  • types:指定要包含的类型声明文件
    • 空数组表示不包含任何类型声明,此处包含 Vite 客户端相关的类型声明

代码质量检查配置:

"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"erasableSyntaxOnly": true,
"noFallthroughCasesInSwitch": true,
"noUncheckedSideEffectImports": true
  • strict:启用所有严格类型检查选项
  • noUnusedLocals:禁止未使用的局部变量
  • noUnusedParameters:禁止未使用的函数参数
  • erasableSyntaxOnly:只允许可擦除的语法(较新的 TypeScript 选项)
  • noFallthroughCasesInSwitch:禁止 switch 语句中的 case 穿透
  • noUncheckedSideEffectImports:禁止未检查的副作用导入(较新的 TypeScript 选项)

3 files 属性

"files": ["src/main.ts","src/polyfills.ts"
]
  • 作用:指定要编译的特定文件
  • 包含文件:
    • main.ts:应用的入口文件
    • polyfills.ts:浏览器兼容性填充

4 include 属性

"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"]
  • 作用:指定要编译的文件模式
  • 包含文件:
    • src/**/*.ts:src 目录下所有的 TypeScript 文件
    • src/**/*.tsx:src 目录下所有的 TypeScript JSX 文件
    • src/**/*.vue:src 目录下所有的 Vue 单文件组件

与其他配置文件的关系

tsconfig.json

  • 基础配置:包含通用的 TypeScript 编译选项
  • 被继承:被 tsconfig.app.json 和 tsconfig.spec.json 继承

tsconfig.spec.json

  • 测试配置:专门用于测试代码的编译配置
  • 包含测试:通常包含 src/test.ts 和测试相关的文件

配置建议

开发环境

  • 启用严格模式:"strict": true
  • 开启未使用变量检查:"noUnusedLocals": true
  • 配置路径别名:"paths": { "@app/*": ["src/app/*"] }

生产环境

  • 关闭源映射:"sourceMap": false
  • 启用声明文件生成:"declaration": true
  • 优化编译选项:"noImplicitAny": true

 

http://www.gsyq.cn/news/50943.html

相关文章:

  • WinForm 使用互斥锁防止应用重复打开
  • 2025年评价高的免费设计装饰方案品牌口碑榜
  • 数据结构——二十六、邻接表(王道408) - 详解
  • Python Mixin强大的技术详解:灵活扩展类机制的艺术
  • 2025年热门的化妆品级云母粉厂家最新推荐排行榜
  • 2025年口碑好的旋耕机中箱款厂家推荐及选购参考榜
  • Cherry键盘手册
  • 九、HTML id - CSS篇章
  • 完整教程:基于遗传优化的CDVRP问题最优值求解matlab仿真
  • 2025年11月遗产继承律师评测榜:五家机构数据对比与选择
  • 2025年11月上海装修公司TOP10推荐:专业能力与服务质量深度对比
  • 八、HTML CSS
  • 读社会工程:安全体系中的人性漏洞(第2版)03构建你的艺术
  • MLOps-数据科学运维化指南-全-
  • 2025年石棉橡胶板厂家联系电话推荐:联系方式与产品介绍
  • Kubernetes-应用的容器存储和安全防护指南-全-
  • 11.6 外键更新删除
  • 2025单螺杆泵源头厂家口碑排行
  • 实战针对本地项目git如何移除旧仓库关联并且添加关联新仓库-优雅草卓伊凡 - 实践
  • 2025年11月最值得推荐ai学习机TOP5:学而思、松鼠AI、科大讯飞等
  • 完整教程:软件测试之单元测试详解
  • 2025年11月GEO公司TOP5推荐:全域智能营销与跨平台技术深度解析
  • 2025年11月中国婚姻家事与财富管理律师TOP5对比测评:财富管理专项指南
  • 11.5 外键约束
  • 2025年宁波企业邮箱服务商推荐排行榜:芯导科技专业解决方案解析
  • 2025年11月珠海酒店如何选择?十大维度与场景适配指南
  • STM32H743-ARM例程24-USB_MSC - 指南
  • 2025年11月免费素材网站TOP5推荐:版权安全与创作效率深度解析
  • 2025年11月胶原精华产品TOP5推荐:渗透吸收与抗衰功效深度对比
  • revit 二次开发 添加一个winform非模态对话框