最终实现效果说明:在用gitcommit提交代码之前,使用pre-commitgithooks实现代码规范检测(eslint,标准规范),只有在符合规范可以提交到git仓库。这样可以在团队开发时统一代码风格。如果有些同志的代码不符合规范,代码是无法提交的。我的demo地址:demo地址规范doc:标准规范eslint规范githookgithook那么问题来了,这种校验是怎么实现的呢?!请确保已安装:node|npm|git安装传送门:node|npm|git先说下我的目录结构:|——node_modules#项目资源依赖(npminstall后出现的文件夹)|pre-commit———|——src——test.js#项目代码(项目业务逻辑)||——package.json#本地安装npm包(这个文件在npminit之后出现)1.步骤如下(以下为标准规范验证):先根据我的目录创建一个目录,然后执行以下依次执行命令:gitinit//将本地项目设置为git项目gitremoteaddoriginurl//url为自己的git仓库地址npminit//设置pre-commit项目设置为npm项目npminstall--save-devstandard//安装标准规范npminstall--save-devhusky@next//安装huskygithooknpminstall--save-devsnazzy//安装snazzy,美化标准错误信息,eslint规范不需要安装后安装依赖资源,修改package.json文件//package.json{"husky":{"hooks":{"pre-commit":"standard\"src/**/*.{js,vue,wpy}\"|snazzy",}}}注:检测src目录下所有文件后缀为.js||的文件.vue||.wpy,无论是否符合规范,githook都会阻止git继续commit,并报错;如果符合代码规范,gitcommit会成功提交到本地仓库。当然,您可以绕过代码检测并强制提交:gitadd。&&gitcommit--no-verify-m"Codespecificationforcecommittest"标准规范错误提示如下://Standard标准默认错误提示:D:\pre-commit\src\test.js:2:19:额外的分号。------------------------------------------------//snazzy美化后的报错信息:2:19errorExtrasemicolon?1问题2.步骤如下(以下为eslint规范验证):先根据我的目录目录创建,然后执行依次执行以下命令:gitinit//将本地项目设置为git项目gitremoteaddoriginurl//url为自己的git仓库地址npminit//将pre-commit项目设置为npm项目npminstall--save-deveslint//安装eslint规范npminstall--save-devhusky@next//安装huskygithook注意,执行命令:$./node_modules/.bin/eslint--init//生成.eslintrc.js文件,你可自定义代码风格注:eslint自定义代码规范详解传送门;.eslintrc.js配置详解传送门安装好依赖资源后,更改package.json文件//package.json{"husky":{"hooks":{"pre-commit":"eslint\"src/**/*.{js,vue,wpy}\"",}}}当然可以绕过代码检测强制提交:gitadd。&&通讯录it--no-verify-m"Codespecificationmandatorysubmissiontest"eslint规范错误提示如下://eslint规范错误提示D:\fe\pre-commit\src\test.js1:13errorStringsmustuse双引号引号1:28错误预期换行符为“LF”但发现“CRLF”换行符样式1:28错误缺少半分号2:1错误意外的控制台语句无控制台2:20错误预期换行符为“LF”但found'CRLF'linebreak-style?5problems(5errors,0warnings)?1problem按照相应的错误提示,改代码,符合规范后提交到git仓库。声明:如有任何问题,请留言!未经作者同意,禁止转载!谢谢!欢迎关注无广告文章、无广告文章、无广告文章公众号:你们的关注、点赞、star是我最大的动力!谢谢!
