运行Vitest报错:无法解析render中的JSX语法,如何修复?
修复Vitest解析JSX失败的错误
问题原因
错误提示Unexpected token指向JSX语法<SearchBar />,说明Vitest未正确识别并处理测试文件中的JSX语法,核心是配置项位置错误,未给测试环境配置正确的文件解析规则。
修复步骤
1. 修正vite.config.js的配置结构
你当前把extensions放在了defineConfig根级别,这是构建环境的配置,测试环境需要将相关配置移入test字段内。修改后的配置如下:
/// <reference types="vitest" /> /// <reference types="vite/client" /> import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; export default defineConfig({ plugins: [react()], test: { globals: true, environment: 'happy-dom', // 配置测试环境识别的文件扩展名 resolve: { extensions: ['.js', '.jsx'] } } })
2. 调整测试文件扩展名(可选)
若测试文件包含JSX语法,建议将扩展名改为.jsx(比如SearchBar.test.jsx),让Vitest更明确地调用React插件处理JSX代码。
3. 确认依赖完整性
确保已安装所有必要依赖:
npm install -D vitest @vitejs/plugin-react @testing-library/react happy-dom
验证修复
重新执行测试命令:
npx vitest
此时Vitest应该能正常解析JSX并完成测试执行。
内容的提问来源于stack exchange,提问作者2211
相关产品推荐
相关产品推荐

