直接用 Vite 官方 TS 模板初始化项目并校准 tsconfig.json(module/target 为 ESNext、moduleResolution 为 NodeNext、strict 为 true、types 包含 vite/client、include 覆盖 src/、vite.config.ts 等),再配置 vite-plugin-checker 实现保存即检查,即可获得严谨类型支持。

直接用 Vite 官方 TypeScript 模板初始化项目,再补全三处关键配置,就能获得严谨的类型支持。Vite 本身不执行完整 TS 编译,类型检查需靠 tsc --noEmit 或 vue-tsc(Vue 项目)独立运行,开发时建议搭配 vite-plugin-checker 实现实时报错。
初始化带 TS 的 Vite 项目
这是最稳妥的起点,避免手动配错基础结构:
- React + TS:
npm create vite@latest my-app --template react-ts - Vue + TS:
npm create vite@latest my-app --template vue-ts - 纯 TS(无框架):
npm create vite@latest my-app --template vanilla-ts
生成后会自带 tsconfig.json、vite.config.ts 和必要的类型声明(如 vite/client),无需从零写。
校准 tsconfig.json 的核心选项
重点不是堆参数,而是确保与 Vite 运行逻辑一致。以下几项必须明确:
-
module 和 target 设为
"ESNext":匹配 Vite 开发服务器的原生 ESM 加载方式 -
moduleResolution 推荐
"NodeNext"(2026 年主流):正确解析package.json#exports和 ESM/UMD 混合包 -
strict 必须为
true:开启全部严格检查,是“严谨类型支持”的前提 -
types 包含
"vite/client":让import.meta.env等有类型提示 -
include 覆盖
"src/**/*"、"vite.config.ts"和"env.d.ts":确保配置文件和环境声明也被检查
启用运行时类型检查机制
Vite 启动开发服务器时默认不做类型检查,需额外引入工具:
- 安装插件:
npm install vite-plugin-checker --save-dev - 在
vite.config.ts中注册:
import { checker } from 'vite-plugin-checker'<br>export default defineConfig({<br> plugins: [checker({ typescript: true })]<br>})
- 它会在你保存文件后,调用
tsc --noEmit增量检查,并把错误实时推送到控制台和浏览器 overlay - Vue 项目还可加
vue-tsc --noEmit脚本,专检.vue文件中的 TS 逻辑
补充:测试环境的类型支持
如果项目含 Vitest,tsconfig.json 还要补充测试专用配置:
-
moduleResolution 改为
"Bundler":与 Vitest 内部解析器对齐 -
types 加上
"vitest/globals"(Node 环境)或"vitest/jsdom"(DOM 模拟) -
include 加入
"test/**/*"或"__tests__/**/*"











