vue3 + Element-plus 开发后台管理系统(6)

251 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第4天,点击查看活动详情

编程规范分析

这一篇就是编程规范的最后一部分了,上一篇我们通过 husky + commitlint 对提交的信息进行规范,同时阻止不符合规范的信息的提交,那么这就大功告成了吗?肯定没有啊。还有一个重点那就是提交时对代码进行格式化。

这时候有人就会想到,前边不是讲过相关的东西吗?就是那个通过 ESLintPrettier 配合解决代码格式问题。

是的,但是那个我们说的是处理本地代码格式问题,并且使用时还得手动设置编辑器的自动保存功能才可以,这样就出现了一个问题,要是有人忘了怎么办?就直接把乱七八糟的代码提交到 git 又怎么办。

所以我们就需要借助工具来处理这个问题

那么想要实现这个操作我们还是得借助 husky 的钩子才行,我们的目的是在提交之前对代码进行相关的检测,所以需要用到 pre-commit 钩子,在其下执行 npx eslint --ext .js,.vue src 指令。

1、执行 npx husky add .husky/pre-commit "npx eslint --ext .js,.vue src" 添加 commit 时的 hook (npx eslint --ext .js,.vue src 会在执行到该 hook 时运行)

2、此时会生成对应的 pre-commit 文件

3、关闭 VSCode 的自动保存功能

4、修改一处代码,使其不符合 ESLint 的规则

5、执行提交操作就会抛出一系列得到错误,并且代码无法提交

到这里,我们已经可以阻止不符合规范的代码的提交了,然而事情并没有结束,除了进行校验,我们难道不能自动进行修复吗?

这必然也是可以的,下边就让我们一起来看一下。

要解决这个问题我们还得认识一个新的插件 lint-staged

lint-staged 可以让你当前的代码检查只检查本次修改的地方,并且在出现错误的时候自动修复后进行推送

lint-staged 无需进行安装,在我们生成项目时,vue-cli 已经替我们安装好了,可以直接使用

1、修改 package.json 配置

"lint-staged": {
   "src/**/*.{js,vue}": [
      "eslint --fix",
      "git add"
   ]
}

如上配置,每次它只会在你 commit 之前,校验你提交的内容是否符合你的 eslint 规则

2、如果符合规则则会提交成功;如果不符合规则,他会调用 eslint --fix 帮你进行修复,如果修复成功则会帮你进行提交,如果修复失败,则会抛出错误,让你手动修复

3、修改 .husky/pre-commit 文件

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged

4、再次执行代码提交

5、此时发现的代码格式错误已经被自动修复

至此,项目的编码规范算是告一段落了。