认识
2023年02月22日
一、认识
1.1 什么是 Lint-staged
Lint-staged
可以在git staged
阶段的文件上执行Linters
,简单说就是当我们运行ESlint
或Stylelint
命令时,可以通过设置指定只检查我们通过git add
添加到暂存区的文件,可以避免我们每次检查都把整个项目的代码都检查一遍,从而提高效率。
其次,Lint-staged
允许指定不同类型后缀文件执行不同指令的操作,并且可以按步骤再额外执行一些其它shell
指令。
1.2 为什么使用 Lint-staged
使用husky
虽然能够帮助我们在commit
或push
前执行一些指令,但是如果只使用husky
,仍然存在下面这些问题:
-
在某次提交时,我们只修改了某个文件,但是只使用
husky
会把所有的文件都运行一遍Lint
检查,时间成本太高 -
此外,有些项目会在中途才加上
husky
,但是在commit
时husky
也会对其它未修改的历史代码进行检查,可能会一下子报了很多错误,这个时候我们更希望只对当前修改过的文件进行检查,而不是对项目中的代码都进行检查 -
husky
的钩子只能执行一个指令,但是有时候我们希望能够在git commit
之前执行多个指令,比如执行ESLint
、Stylelint
或Commitlint
等操作
为了解决上面的问题,就需要结合Lint-staged
一起使用。