ESLint CLI 扫描 HTML 文件时为什么没效果? 皇甫浩迪 提问于 2026-03-18 22:55:17 阅读 10 工具 我用 ESLint 的 CLI 命令直接扫描一个包含内联 script 的 HTML 文件,但 ESLint 根本没报错,也没处理里面的 JS 代码。是不是 ESLint 默认不支持 HTML?我试过加 --ext .html 也不行。 这是我的测试文件: <!DOCTYPE html> <html> <body> <script> const a = 1 console.log(a) </script> </body> </html> 我来解答 赞 1 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 小春艳 Lv1 ESLint 默认确实不支持 HTML 文件,它只能处理 .js、.jsx、.ts、.tsx 这些纯 JS/TS 文件。你加 --ext .html 也没用,因为 --ext 只是告诉 CLI 要扫描哪些扩展名的文件,但 ESLint 本身没有解析 HTML 的能力。 要做校验的话,得用 eslint-plugin-html 这个插件。它能提取 HTML 里的内联 script 然后交给 ESLint 检查。 安装插件: npm install --save-dev eslint-plugin-html 然后在 ESLint 配置里启用插件: // .eslintrc.js module.exports = { plugins: ['html'], // 或者如果你用的是旧版配置 // extends: ['plugin:html/recommended'] }; 最后运行扫描: eslint --ext .html,.js your-file.html 这样就能检测到你 HTML 里的 console.log 和那个没分号的 const a = 1 了。 另外提醒一下,如果你项目里 HTML 文件比较多,还可以考虑用 eslint-plugin-vue 配合 vue-eslint-parser 来处理 .vue 文件里的 script 块,思路是一样的——都需要专门的插件来解析对应的文件格式。 回复 点赞 2026-03-18 23:01 加载更多 相关推荐 1 回答 56 浏览 ESLint的ignore文件怎么设置才能排除node_modules和特定HTML文件? 我在项目里配置了ESLint,但想排除node_modules和test.html文件,试过在.eslintrc.json里写ignorePatterns,结果node_modules还是被检查,te... シ耀择 工具 2026-02-02 13:38:39 1 回答 15 浏览 ESLint CLI 执行时怎么忽略某些文件? 我在项目里用 ESLint 检查代码,但有些生成的文件或者测试快照老是报错,想临时跳过它们。试过在命令后面加 --ignore-path .eslintignore,但好像没生效,是不是我写法不对? ... UX秀丽 工具 2026-03-12 11:55:19 2 回答 87 浏览 为什么ESLint CLI命令提示’找不到配置文件’? 我在项目根目录执行npx eslint .时一直报错:ESLint couldn't find a configuration file,但.eslintrc.js明明放在根目录了。试过加--ext ... 司空翌萌 工具 2026-01-29 17:58:27 1 回答 23 浏览 Babel CLI 转译后为什么没有生成输出文件? 我用 Babel CLI 转译一个 JS 文件,命令行没报错,但指定的输出目录里啥也没有,这是咋回事? 我试了这个命令:npx babel src/index.js --out-file dist/i... 打工人小秋 工具 2026-03-15 20:46:21 1 回答 30 浏览 Turbopack 为什么无法正确处理我的 HTML 入口文件? 我刚用 Turbopack 启动了一个简单的静态页面项目,但发现它好像不识别我的 HTML 入口文件,页面加载后是空白的,控制台也没报错。我试过把 HTML 放在 src 目录下,也试过根目录,都不行... 司空希哲 前端 2026-03-02 21:22:24 2 回答 72 浏览 Vite Library模式打包后为什么多出.eslintrc.js文件? 在用Vite的Library模式打包组件库时,发现生成的dist目录里多了一个.eslintrc.js文件,但配置里没配置要包含它。尝试过设置assetsInclude排除,但还是会出现,这是什么情况... 夏侯瑞娜 前端 2026-01-30 22:07:24 1 回答 33 浏览 Vite 打包后 HTML 中的静态资源路径为什么不对? 我用 Vite 构建项目后,发现生成的 index.html 里引用的 JS 和 CSS 文件路径是相对路径,部署到子目录时就加载不到了。明明配置了 base 路径,但好像没生效? 比如我的项目部署在... 轩辕梦玲 前端 2026-03-16 07:46:23 1 回答 23 浏览 Prettier 为什么没格式化我的 HTML 标签换行? 我用 Prettier 格式化 HTML 文件,但发现它没把长标签自动换行,看起来特别挤。明明在 .prettierrc 里设置了 printWidth: 80,为啥不起作用? 比如下面这段代码,Pr... Code°采涵 工具 2026-03-13 15:41:20 1 回答 23 浏览 为什么我的 HTML 文件改了但浏览器还是加载旧版本? 我改了首页的 HTML 内容,但刷新后浏览器还是显示旧的,强制刷新才生效。是不是缓存没配对? 我试过在 Nginx 里加了 Cache-Control,但好像没起作用。本地开发时用的是 live se... 长孙楠楠 优化 2026-03-12 21:43:20 2 回答 25 浏览 ESLint 和 Prettier 配合时为什么格式化冲突? 我按照网上的教程配了 ESLint + Prettier,但保存文件时格式老是打架。比如 Prettier 想加个分号,ESLint 却报错说不能加分号,明明 .eslintrc 里已经关了这个规则。... Newb.一涵 工具 2026-02-28 13:00:20
要做校验的话,得用 eslint-plugin-html 这个插件。它能提取 HTML 里的内联 script 然后交给 ESLint 检查。
安装插件:
然后在 ESLint 配置里启用插件:
最后运行扫描:
这样就能检测到你 HTML 里的
console.log和那个没分号的const a = 1了。另外提醒一下,如果你项目里 HTML 文件比较多,还可以考虑用 eslint-plugin-vue 配合 vue-eslint-parser 来处理 .vue 文件里的 script 块,思路是一样的——都需要专门的插件来解析对应的文件格式。