最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 前端团队规范探索 - 提交代码规范校验

    正文概述 掘金(茶无味的一天)   2021-06-28   818

    这是我参与更文挑战的25天,活动详情查看 更文挑战

    husky 一个git钩子插件

    husky经常配合lint-staged一起使用,在git提交的钩子中用lint-staged做一些操作,例如让你提交前运行vue自带的代码格式化工具:vue-cli-service lint,或者运行prettier --write,它的作用是可以配置一些规则,且只对本次提交的各种文件进行检查而不是整个项目。

    但是我们已经做到了自动保存格式化,这种方式明显是多余的,所以我们现在只需要一个husky,来对commit提交做些规范工作。

    安装

    yarn add husky -D
    

    新版使用方法: package.json中添加脚本

    "scripts": {
        "prepare": "husky install",
      }
    

    执行初始化

    npm run prepare
    

    会在根目录生成一个目录,使用命令往git钩子中添加要执行的命令:

    npx husky add .husky/pre-commit "npm test"
    

    git commit时对应的生命周期会触发对应的命令。

    如果你想使用旧版的配置,需要指定版本安装:

    yarn add husky@3.0.9 -D
    

    package.json配置

    "husky": {
        "hooks": {
          "commit-msg": "commitlint -E HUSKY_GIT_PARAMS" 
          "pre-commit": "xxx" // pre-commit,提交前的钩子
        }
      },
    

    Commitize 统一代码提交信息

    安装:

    yarn add commitizen cz-conventional-changelog @commitlint/cli @commitlint/config-conventional -D
    

    package.json添加如下配置

      "config": {
        "commitizen": {
          "path": "node_modules/cz-conventional-changelog"
        }
      },
       "commitlint": {
        "extends": [
          "@commitlint/config-conventional"
        ]
      },
    

    在根目录创建 commitlint.config.js 配置我们的commit规则

    /**
     * feat 新功能
     * fix 修补bug
     * docs 文档修改
     * style 样式修改
     * build 代码编译
     * refactor 代码重构
     * code 代码优化
     * test 测试用例
     */
    module.exports = {
      extends: ['@commitlint/config-conventional'],
      rules: {
        'type-enum': [2, 'always', ['feat', 'fix', 'docs', 'style', 'build', 'refactor', 'test', 'code']],
      },
    }
    

    附录:config-conventional

    最终不符合规范的git commit将会被拦截。

    package.json添加

    "scripts": {
        "c": "git add . && git-cz"
      }
    

    提交代码使用 yarn cnpm run c,即可使用命令行工具以Angular规范(社区使用最广泛的规范)进行代码提交。

    终端工具选择:

    mac:无所谓 ,自带终端就很强大。

    windows:我遇到过还有在使用CMD的同事,曾经也用过一段时间装git附赠的gitBash工具,这些都不太好用,建议使用vsCode自带的Terminal工具就很好。


    起源地下载网 » 前端团队规范探索 - 提交代码规范校验

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元