游乐游手机版
首页/前端开发/文章详情

Husky与Lint-staged实现HTML代码提交前质量拦截

时间:2026-07-08 06:52
HTML提交前拦截需针对性配置:Lint-staged默认不处理 html,需用Prettier格式化或html-validate语义校验,并确保Husky的pre-commit钩子显式触发lint-staged。工具链、匹配路径与钩子验证三者缺一不可。

先抛出一个结论:很多人觉得配置了 lint-staged 就能自动修复所有代码文件,但在实际开发中会发现,它默认并不会处理 .html 文件。如果你直接在图里写 "*.html": ["eslint --fix"],基本会直接报错——因为 ESLint 根本就不是为 HTML 设计的工具。
要想让 HTML 文件在提交代码前被自动格式化,你需要手动配置规则、安装正确的工具链,并且确保 Husky 这个“提交门卫”确实接到了执行指令。

基于Husky与Lint-staged的HTML代码质量提交前拦截机制

核心配置其实很简单:要么用 prettier 做纯格式化,要么用 htmllinthtml-validate 做语义校验。不过前提是,你得确认这些工具的 CLI 已经正确安装并可用。

为什么 eslint.html 文件无效

ESLint 本质上只是一个 Ja vaScript 的静态分析工具,它只能识别 JS 的 AST 结构。.html 文件里包含的标签、属性、内联脚本和样式,ESLint 根本无法解析。即使安装了 eslint-plugin-html 这样的插件来“扩展能力”,它也最多只能处理