# 提交时自动格式化代码

大规模的格式化代码会导致涉及多个文件的大量差异,从而给 git 历史记录添加干扰,并使跟踪行为变化变得更加麻烦。 虽然规定了eslintprettier的使用,但一些编辑器配置的繁琐并不易保证每个人的风格统一,所以这里通过git hook 来统一格式化代码,保证风格的统一。

如果你正确安装了依赖,在你提交件时,simple-git-hooks (opens new window)会自动使用prettier格式化修改的文件。

# simple-git-hooks (opens new window)

一个轻量级的git hook 库

# lint-staged (opens new window)

一个专门用于在通过 git 提交代码之前,对暂存区的代码执行一系列的格式化插件。

# vue3/vue2通用配置

依赖

  • simple-git-hooks@2.11.1
  • lint-staged@12.5.0

添加 package.json 配置项

{
  "simple-git-hooks": {
    "pre-commit": "npx lint-staged"
  },
  "lint-staged": {
    "*.{js,vue,json}": [
      "prettier --write"
    ],
    "*.ts?(x)": [
      "eslint --fix",
      "prettier --parser=typescript --write"
    ]
  }
}

在项目根目录运行 npx simple-git-hooks 更新 git hooks