Skip to content

一、自动修复代码格式错误

通过 pre-commit 处理了 检测代码的提交规范问题,当我们进行代码提交时,会检测所有的代码格式规范。 这样会存在两个问题:

  1. 只是修改了个别的文件,没必要检测所有的文件代码格式。
  2. 它只能提示对应的错误,还需要手动的进行代码修改。

期望:

针对有改动的文件,如果有代码格式问题,进行自动修复

1. lint-staged

插件官网 lint-staged 可以让你当前的代码检查 只检查本次修改更新的代码,并在出现错误的时候,自动修复并且推送。

lint-staged 无需单独安装,生成项目时,vue-cli 已经携带该插件,直接使用即可

  • 修改 package.json 配置

    text
      "lint-staged": {
        "src/**/*.{js,vue}": [
        "eslint --fix",
        "git add"
        ]
      }
  • 如上配置,每次它只会在你本地 commit 之前,校验你提交的内容是否符合你本地配置的 eslint 规则,校验会出现两种结果:

    • 如果符合规则:则会提交成功。
    • 如果不符合规则:它会自动执行 eslint --fix 尝试帮你自动修复,如果修复成功则会帮你把修复好的代码提交,如果失败,则会提示错误,让你修好这个错误之后才能允许你提交代码。
  • 修改 .husky/pre-commit 文件

    text
    #!/bin/sh
    . "$(dirname "$0")/_/husky.sh"
    
    npx lint-staged
  • 再次执行提交代码

  • 发现 暂存区中 不符合 ESlint 的内容,被自动修复

Released under the MIT License.