第八期:前端九个启蒙分享1、设置gitcommit的验证(husky:^5版本之前的配置和这里不一样)timecommit-m'commitinformation'时,会触发对commit信息和代码风格的校验。如果验证失败,提交将失败。这些验证是如何添加到项目中的?其中大部分在为commit添加验证时,会用到husky包,我们安装一下:yarnaddhusky-D在packgae.json中添加如下内容,这里是initialization.husky/目录,并指定该目录为githooks所谓githooks可以理解为git的钩子函数,比如gitadd执行前、gitcommit后等生命周期的钩子函数,以及githooks所在的目录定义git的各种生命周期需要执行的函数。{"scripts":{"prepare":"huskyinstall"}}第一步:添加代码校验接下来我们在命令行执行:yarnpreparepxhuskyadd.husky/pre-commit"npmrunlint"上面第二条这条命令定义预提交生命周期并执行npmrunlint命令。在packgae.json中定义lint命令,使用eslint检测src文件夹下的文件,当然可以检测任何文件。"scripts":{"lint":"eslintsrc"},Step2:添加commit信息验证我们验证commit信息最简单的方法就是依赖commitlint包。yarnadd@commitlint/config-conventional@commitlint/cli-D在根目录新建commitlint.config.js,写入如下内容:module.exports={extends:["@commitlint/config-conventional"]};添加检查提交钩子:npxhuskyadd.husky/commit-msg'npx--no-installcommitlint--edit"$1"'上面命令的意思是创建一个commit-msg钩子文件,内容为npx--no-installcommitlint--edit"$1"。commitlint命令检查$1参数的值是否合法,$1就是我们的gitcommit-m${1}。校准标准请参考规范文档这里我只列出最常用的:标准用法docsgitcommit-m"docs:updatexxxdocument"featgitcommit-m"feat:addxxxmodule"fixgitcommit-m"fix:Fixed网上xxxxbug"stylegitcommit-m"style:更新用户信息弹出框的样式"testgitcommit-m"test:修改添加用户按钮的测试用例"和你项目中的配置不一样?有的同学可能会发现我这里写的方式可能和你项目中的写法不一致。你的项目可能会这样写:{"husky":{"hooks":{"pre-commit":"npmruntest","commit-msg":"commitlint-e$HUSKY_GIT_PARAMS"}}}上面的写法method是husky^6版本之前的写法,现在husky已经更新到7版本了,以后可能不会再用这种写法配置新项目了。git的hookGit官网描述了hooks2.///这个注释的使用我们会在react项目代码中看到下面的注释,那么这个奇怪的注释是干什么用的呢?///
