分享更有价值
被信任是一种快乐

怎么快速武装你的代码库

文章页正文上

本篇内容介绍了“怎么快速武装你的代码库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 规范 commit 信息首先,看下 angular 的代码库的 commit 记录,如图:我们可以利用 commitizen 和 husky 来规范代码库的 commit。安装以下依赖:如果你还没有安装过 commitizen,那么先全局安装:在 package.json 中增加 husky 字段。husky 是 git hook 工具,使用 husky,我们可以方便的在 package.json 中配置 git hook 脚本,例如: pre-commit、 pre-push、 commit-msg 等的。(1) 创建 commitlint.config.js 文件此刻开始,请使用 git cz 来替代 git commit 提交信息,我们来看看,假设我们随便写一个 git commit -m ‘fixbug’ 会提示什么?使用 git cz 来进行填写 commit 的内容。git cz 的 type 说明:虽然,我们现在已经可以规范提交信息了,但是我们可能不喜欢默认的交互,例如,一个精简的描述就可以了,不希望再提示我去写详细的描述,那么就可以使用 cz-customizable 来免费云主机、域名进行定制。(2) 自定义提交说明安装 cz-customizable:cz-customizable 是可自定义的 Commitizen 插件,可帮助实现一致的 commit message。cz-customizable 适合大型团队去自定义 scope,和 commit type。新建 .cz-config.js:在项目根目录下创建 .cz-config.js 文件:官方提供了一份配置信息,可以去这个地址查看:https://github.com/leoforfree/cz-customizable/blob/master/cz-config-EXAMPLE.jstypes:描述修改的性质是什么,是bugfix还是feat,在这里进行定义。scopes:定义之后,我们就可以通过上下键去选择 scopescopeOverrides:针对每一个type去定义scopeallowBreakingChanges:如上设置为 [‘feat’, ‘fix’],只有我们type选择了 feat 或者是 fix,才会询问我们 breaking message.allowCustomScopes:设置为 true,在 scope 选择的时候,会有 empty 和 custom 可以选择,顾名思义,选择 empty 表示 scope 缺省,如果选择 custom,则可以自己输入信息skipQuestions:指定跳过哪些步骤,例如跳过我们刚刚说的详细描述,设置其为 scope: [‘body’],假设我们的项目也不会涉及到关联 issue,我们可以设置其为 scope: [‘body’, ‘footer’]subjectLimit:描述的长度限制这里我就不一一演示每个字段修改之后的情况了,根据字段的说明,建议如果想自定义提交规则,在本地进行修改验证,公司内部的代码库不需要管理 issue,另外,我不喜欢写长描述,所以我把 body 和 footer 给 skip 掉了。cz-customizable 会首先在项目根目录下寻找: .cz-config.js 或 .config/cz-config.js,如果找不到,会去主目录寻找。我们也可以在 package.json 中手动去指定配置文件的路径。现在,我们已经规范了 commit 信息,但是没有对提交的代码进行规范,在一个代码库中,经常出现2个空格/4个空格混用,有些地方写 ;,有些不写 ;,风格不统一。例如,我们希望提交到git库的代码,都能够通过 eslint 检查或者是通过测试。我们可以借助于 pre-commit 这个钩子来做这些事情。2. 代码提交前检查安装依赖:使用 pre-commit 的 hook这样配置之后,每次提交的时候,都会对要提交的文件(并不是对整个项目)进行 prettier 格式化和 eslint 检查,都通过之后,才能 commit 成功。(1) eslint 和 prettier 配置我的项目是 react 项目,下面是我进行的配置。安装 eslint 和 prettier 相关依赖:新建 .prettierrc.js当然啦,你也可以在 package.json 的 prettier 字段中配置,这里我配置成了独立的文件,以便后期维护。如果你有一些文件不需要 prettier 进行格式化,那么可以新建一个 .prettierignore 文件,如下:新建 .eslintrc.js 文件以下是我的配置:“怎么快速武装你的代码库”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注云技术网站,小编将为大家输出更多高质量的实用文章!

相关推荐: 比较JavaScript日期对象时踩的坑是怎样的

本篇文章为大家展示了比较JavaScript日期对象时踩的坑是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。直觉上,两个相同的日期之间比较应该是相等的,然而结果并不是这样:可以看到,无论用===还是==,结果都是…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册