如何让Vite+React+TypeScript项目在终端显示错误与警告?
Vite+React+TypeScript项目终端显示错误/警告的配置方案
一、语法错误终端不显示的修复
如果项目的JS/TS语法错误仅在浏览器控制台出现、终端无输出,检查vite.config.ts的日志配置,确保未关闭日志输出:
import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; export default defineConfig({ plugins: [react()], server: { // 日志级别默认是info,确保未设置为silent或error logLevel: 'info', }, });
修改后重启开发服务,语法错误会直接输出到终端。
二、TypeScript类型错误终端显示的实现
Vite默认仅做TS语法转译,不执行类型检查,因此类型错误不会输出到终端。有两种常用方案:
方案1:并行运行TS类型检查监听
- 安装并行命令工具
concurrently:
npm install concurrently --save-dev
- 修改
package.json的脚本配置:
{ "scripts": { "dev": "vite", "type-check": "tsc --watch --noEmit", "start": "concurrently \"npm run dev\" \"npm run type-check\"" } }
- 执行
npm run start启动项目,终端会同时输出Vite开发日志和TS类型检查的错误/警告。
方案2:使用vite-plugin-checker插件(集成化方案)
该插件能将TS类型检查、ESLint检查等结果直接集成到Vite开发流程中,终端和浏览器会同步显示错误:
- 安装插件:
npm install vite-plugin-checker --save-dev
- 修改
vite.config.ts:
import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; import checker from 'vite-plugin-checker'; export default defineConfig({ plugins: [ react(), checker({ // 启用TS类型检查 typescript: true, // 可选:若项目使用ESLint,可开启ESLint检查 eslint: { lintCommand: 'eslint "./src/**/*.{ts,tsx}"', }, }), ], });
- 重启
npm run dev,终端会实时输出类型错误和警告。
总结
- 语法错误:确保Vite日志级别未被限制,默认配置即可正常显示。
- 类型错误:推荐使用
vite-plugin-checker插件,集成度更高;也可通过concurrently配合TS监听命令实现需求。
内容的提问来源于stack exchange,提问作者MF_Dev
相关产品推荐
相关产品推荐

