You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular项目中Husky Prettier预提交钩子无法触发的问题咨询

解决Husky pre-commit钩子未触发的问题

1. 补全缺失依赖

你仅安装了husky和prettier,但未安装lint-staged,先执行以下命令补装:

npm install -D lint-staged

2. 修正lint-staged命令错误

你的package.json中prettier - write存在语法错误,需改为双短横线的正确参数格式,修正后的配置如下:

"lint-staged": {
  "*.ts": [
    "prettier --write",
    "git add"
  ]
}

3. 适配Husky v6+的新配置逻辑(核心步骤)

若你的Husky版本为v6或更高,原package.json中直接配置husky.hooks的方式已失效,需按以下步骤重新配置:

  • 启用Husky钩子:
    npx husky install
    
  • 在package.json中添加prepare脚本(确保项目克隆后自动启用钩子):
    "scripts": {
      "prepare": "husky install"
    }
    
  • 创建pre-commit钩子文件:
    npx husky add .husky/pre-commit "npx lint-staged"
    
    执行后会生成.husky/pre-commit文件,文件内需包含执行npx lint-staged的命令。

4. 验证钩子生效

重新执行提交操作:

git add . && git commit -m "Test"

此时pre-commit钩子应正常触发,自动格式化test.ts后完成提交。

额外检查项

  • 确认项目已初始化Git仓库(你已执行过git add/commit,此步骤可忽略)。
  • 若.husky/pre-commit文件无执行权限,执行chmod +x .husky/pre-commit添加权限。

内容的提问来源于stack exchange,提问作者Ole

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 10:15:15