Vite 依赖本地 TypeScript 和 VS Code 原生服务提供编辑器内类型提示,需确保安装 TypeScript、存在正确 tsconfig.json 并启用 Volar;vite-plugin-checker 补充运行时类型检查,在浏览器中显示错误浮层并支持跳转。

Vite 本身不提供编辑器内的实时类型提示(比如 VS Code 中悬停看类型、跳转定义),但通过 vite-plugin-checker 可以在开发服务器运行时触发 TypeScript 类型检查,并把错误/警告以覆盖层形式显示在浏览器中,同时配合编辑器的原生 TS 支持,实现接近“实时”的反馈闭环。
确保 TypeScript 编译器与编辑器联动
Vite 不接管类型检查逻辑,它依赖你本地安装的 TypeScript 和 VS Code 的内置语言服务。只要项目根目录下有 tsconfig.json,且 VS Code 打开的是该工作区,编辑器就会自动读取配置并提供类型提示、错误高亮、自动补全等功能——这一步无需 Vite 参与,但必须先满足:
- 项目中已安装
typescript(建议 ≥5.0) -
tsconfig.json存在且"include": ["src"]覆盖源码路径 - VS Code 没有意外启用其他 TS 版本(右下角点击 TypeScript 版本号可切换)
用 vite-plugin-checker 实现运行时类型反馈
它不是替代编辑器提示,而是补充:当代码存在类型错误但未被编辑器即时捕获(例如某些泛型推导延迟、SFC 中 <script setup></script> 的复杂上下文),vite-plugin-checker 会在 dev server 启动后主动扫描并弹出错误浮层,避免“跑起来才发现报错”。
- 安装插件:
npm install -D vite-plugin-checker - 在
vite.config.ts中启用:
import { checker } from 'vite-plugin-checker'
export default defineConfig({
plugins: [
checker({
typescript: true,
// 若用 Vue,加这一行
vueTsc: true
})
]
})
- 启动
npm run dev后,浏览器右下角会出现 checker 图标,点击可查看全部类型错误 - 错误发生时页面会自动刷新并显示浮层,支持点击跳转到源码位置
Vue 单文件组件中的特殊处理
Vue 的 .vue 文件需额外支持才能让类型检查穿透 template 和 script setup。仅靠 vite-plugin-checker 不够,还需:
- 安装
vue-tsc(用于 SFC 类型校验) - 确保
vite-plugin-checker的vueTsc: true开启 - VS Code 安装官方插件 Volar(非 Vetur),并启用 Take Over Mode
- 项目中存在
compilerOptions.types或types/vue.d.ts等 Vue 类型声明
避免常见干扰项
有些配置看似增强类型提示,实则无效或冲突:
- 不用在
vite.config.ts里手动配置esbuild或rollup的 TS 插件——Vite 的 dev server 不走这些流程 - 不要删掉
tsconfig.json中的"composite": false(若为 true,需配 path mapping 和 references,反而增加复杂度) - 禁用
"noEmit": true以外的 emit 相关选项(如outDir),否则可能干扰 checker 的内部诊断











