解决React项目npm run lint提示文件匹配失败的问题
修复npm run lint报错的方案
错误核心原因
报错提示找不到匹配src/**/*.{js, jsx}的文件,本质是文件匹配模式无效或目标文件不存在,和Vite没有直接关联。
具体修复步骤
1. 修正匹配模式的语法错误
检查package.json中scripts里的lint命令,重点看匹配规则里的逗号:
- 错误写法:
"lint": "eslint src/**/*.{js, jsx}"(逗号后有空格) - 正确写法:
"lint": "eslint src/**/*.{js,jsx}"(去掉逗号后的空格)
glob匹配语法中,花括号内的选项不能有空格,否则会被解析成两个独立的模式(js和 jsx),而后者带空格的后缀不存在,导致找不到文件。
2. 确认文件结构与后缀
- 检查项目根目录下是否存在
src文件夹,且内部确实有.js或.jsx文件; - 如果项目用TypeScript开发,文件后缀是
.tsx,则需要把匹配模式改成src/**/*.{js,jsx,ts,tsx}。
3. 检查ESLint配置的文件范围
打开项目的ESLint配置文件(比如.eslintrc.js、.eslintrc.json),确认include字段包含了src目录:
module.exports = { // ...其他配置 include: ["src/**/*"] }
如果配置了exclude字段,确保没有误排除src下的文件。
Vite是否是问题诱因?
不是。Vite是构建工具,而npm run lint是调用ESLint(或其他lint工具)执行代码检查,两者的运行逻辑完全独立。除非你在Vite配置中修改了项目的基础路径,但这种情况极少,不会直接导致lint的文件匹配失败。
内容的提问来源于stack exchange,提问作者Nikolas Kotsios
相关产品推荐
相关产品推荐

