配置项目代码提交校验

651 阅读1分钟

作用:在我们提交代码时,使用eslint检查代码,在修复不了的时候,报错给我们。并且报错后此次的commit不会提交。

1. 在项目内 安装 husky、lint-staged

yarn add husky -D
yarn add lint-staged -D

husky官方文档:github.com/typicode/hu…

lint-staged官方文档:github.com/okonet/lint…

2**. husky、lint-staged钩子配置**

举个🌰子

如需进行css、less等样式格式化代码风格, 需要自行安装 stylelint prittier 等插件

"husky": { 
	"hooks": { 
		"pre-commit": "lint-staged", // pre-commit,提交前的拦截钩子 
		"pre-add": "lint-staged", // pre-commit,添加到暂存区前的拦截钩子 
		"pre-push": "lint-staged" // pre-push, push到远程仓库的拦截钩子
	} 
}, 
"lint-staged": { 
	// 此处可以配置文件夹和文件类型的范围 
	"src/**/*.{jsx,txs,ts,js,json,css,md}": [ 
		"eslint --fix", // 再使用eslint进行自动修复 
		"git add" // 所有代码通过eslint的话执行git 
	] 
}

3. 代码规范、提交规范--多人协同最好使用相同的代码规范

build:主要目的是修改项目构建系统(例如 glup,webpack,rollup 的配置等)的提交
ci:主要目的是修改项目继续集成流程(例如 Travis,Jenkins,GitLab CI,Circle等)的提交
docs:文档更新
feat:新增功能
merge:分支合并 Merge branch ? of ?
fix:bug 修复
perf:性能, 体验优化
refactor:重构代码(既没有新增功能,也没有修复 bug)
style:不影响程序逻辑的代码修改(修改空白字符,格式缩进,补全缺失的分号等,没有改变代码逻辑)
test:新增测试用例或是更新现有测试
revert:回滚某个更早之前的提交
chore:不属于以上类型的其他类型