ESLint CLI 扫描 HTML 文件时为什么没效果? 皇甫浩迪 提问于 2026-03-18 22:55:17 阅读 54 工具 我用 ESLint 的 CLI 命令直接扫描一个包含内联 script 的 HTML 文件,但 ESLint 根本没报错,也没处理里面的 JS 代码。是不是 ESLint 默认不支持 HTML?我试过加 --ext .html 也不行。 这是我的测试文件: <!DOCTYPE html> <html> <body> <script> const a = 1 console.log(a) </script> </body> </html> 我来解答 赞 6 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 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 加载更多 相关推荐 2 回答 58 浏览 Lighthouse CLI 扫描本地 HTML 文件为啥报“无法访问页面”? 我用 Lighthouse CLI 想分析一个本地的静态 HTML 页面,执行命令 lighthouse file:///path/to/index.html 后却提示 “Unable to acce... 极客倩利 工具 2026-03-23 21:11:24 1 回答 80 浏览 ESLint的ignore文件怎么设置才能排除node_modules和特定HTML文件? 我在项目里配置了ESLint,但想排除node_modules和test.html文件,试过在.eslintrc.json里写ignorePatterns,结果node_modules还是被检查,te... シ耀择 工具 2026-02-02 13:38:39 2 回答 49 浏览 ESLint CLI 执行时怎么忽略某些文件? 我在项目里用 ESLint 检查代码,但有些生成的文件或者测试快照老是报错,想临时跳过它们。试过在命令后面加 --ignore-path .eslintignore,但好像没生效,是不是我写法不对? ... UX秀丽 工具 2026-03-12 11:55:19 2 回答 106 浏览 为什么ESLint CLI命令提示’找不到配置文件’? 我在项目根目录执行npx eslint .时一直报错:ESLint couldn't find a configuration file,但.eslintrc.js明明放在根目录了。试过加--ext ... 司空翌萌 工具 2026-01-29 17:58:27 1 回答 94 浏览 Babel CLI 转译后为什么没有生成输出文件? 我用 Babel CLI 转译一个 JS 文件,命令行没报错,但指定的输出目录里啥也没有,这是咋回事? 我试了这个命令:npx babel src/index.js --out-file dist/i... 打工人小秋 工具 2026-03-15 20:46:21 1 回答 54 浏览 Turbopack 为什么无法正确处理我的 HTML 入口文件? 我刚用 Turbopack 启动了一个简单的静态页面项目,但发现它好像不识别我的 HTML 入口文件,页面加载后是空白的,控制台也没报错。我试过把 HTML 放在 src 目录下,也试过根目录,都不行... 司空希哲 前端 2026-03-02 21:22:24 2 回答 97 浏览 Vite Library模式打包后为什么多出.eslintrc.js文件? 在用Vite的Library模式打包组件库时,发现生成的dist目录里多了一个.eslintrc.js文件,但配置里没配置要包含它。尝试过设置assetsInclude排除,但还是会出现,这是什么情况... 夏侯瑞娜 前端 2026-01-30 22:07:24 1 回答 63 浏览 VSCode插件里怎么监听HTML文件的特定标签变化? 我在写一个VSCode扩展,想在用户编辑HTML文件时,自动检测是否新增了带有data-track属性的元素,但不知道该监听哪个事件。试过onDidChangeTextDocument,但拿到的cha... 一英瑞 工具 2026-03-30 00:34:13 2 回答 74 浏览 Vite 打包后 HTML 中的静态资源路径为什么不对? 我用 Vite 构建项目后,发现生成的 index.html 里引用的 JS 和 CSS 文件路径是相对路径,部署到子目录时就加载不到了。明明配置了 base 路径,但好像没生效? 比如我的项目部署在... 轩辕梦玲 前端 2026-03-16 07:46:23 2 回答 67 浏览 Prettier 为什么没格式化我的 HTML 标签换行? 我用 Prettier 格式化 HTML 文件,但发现它没把长标签自动换行,看起来特别挤。明明在 .prettierrc 里设置了 printWidth: 80,为啥不起作用? 比如下面这段代码,Pr... Code°采涵 工具 2026-03-13 15:41:20
要做校验的话,得用 eslint-plugin-html 这个插件。它能提取 HTML 里的内联 script 然后交给 ESLint 检查。
安装插件:
然后在 ESLint 配置里启用插件:
最后运行扫描:
这样就能检测到你 HTML 里的
console.log和那个没分号的const a = 1了。另外提醒一下,如果你项目里 HTML 文件比较多,还可以考虑用 eslint-plugin-vue 配合 vue-eslint-parser 来处理 .vue 文件里的 script 块,思路是一样的——都需要专门的插件来解析对应的文件格式。