
eslint 默认仅检查 `.js` 文件,若项目中包含 `.jsx`、`.ts` 等其他扩展名的源文件,需显式通过 `--ext` 参数指定,否则这些文件中的问题不会在终端输出。
默认情况下,npx eslint . 仅递归扫描当前目录下所有匹配 .js 扩展名的文件(不包括 .jsx、.ts、.vue 等),即使这些非默认扩展的文件在编辑器中被正确高亮了 ESLint 问题(得益于编辑器插件或 IDE 集成),命令行运行时仍会跳过它们——导致“部分文件无输出”这一常见误解。
要让 ESLint 全面覆盖项目代码,需使用 --ext 选项显式声明需检查的扩展名。例如:
npx eslint . --ext .js --ext .jsx
支持多个 --ext 参数(推荐写法),也可合并为逗号分隔形式(等效):
npx eslint . --ext .js,.jsx,.ts,.tsx
✅ 最佳实践建议:
- 在项目根目录的 eslint.config.js(或 .eslintrc.*)中无需修改扩展配置,--ext 是 CLI 层控制项;
- 若频繁使用,可将命令写入 package.json 的 scripts 中:
{
"scripts": {
"lint": "eslint . --ext .js,.jsx,.ts,.tsx",
"lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx --fix"
}
}⚠️ 注意事项:
- --ext 只影响文件发现逻辑,不改变解析器(如需 TypeScript 支持,仍需配置 @typescript-eslint/parser 和对应插件);
- 避免遗漏扩展名(如 .mjs、.cjs 或自定义后缀),否则对应文件将静默跳过;
- 使用 --debug 可查看 ESLint 实际加载了哪些文件,便于排查遗漏:npx eslint . --ext .js,.jsx --debug。
通过显式声明扩展名,即可确保 ESLint 在终端完整输出所有目标文件的错误与警告,实现真正端到端的静态检查覆盖。










