前端代码提交规范-vue

前言

为什么我们要规范提交

  • git提交时每个开发者提交信息不统一,更有甚者提交信息为魔法数字
  • 提交统一的、有规则的信息;更容易看懂是什么意思,文件更改了什么
  • 可以提供更加明朗的历史信息,便于后续快速定位问题、代码回滚等的操作
  • 可以自动化生成changelog

git规范简介

一. 修改类型
每个类型值都表示了不同的含义,类型值必须是以下的其中一个:

feat:提交新功能
fix:修复了bug
docs:只修改了文档
style:调整代码格式,未修改代码逻辑(比如修改空格、格式化、缺少分号等)
refactor:代码重构,既没修复bug也没有添加新功能
perf:性能优化,提高性能的代码更改
test:添加或修改代码测试
chore:对构建流程或辅助工具和依赖库(如文档生成等)的更改

vue配置

一、husky

husky 是一个 Git-Hooks 工具. 那么 hooks 是什么呢 ?

“hooks” 直译是 “钩子”,它并不仅是 react,甚至不仅是前端界的专用术语,而是整个行业所熟知的用语。通常指:系统运行到某一时期时,会调用被注册到该时机的回调函数。

规范化提交第一步就是要在 git commit之前先做一次Lint校验,限制不规范代码的提交,那 husky 这个工具就能做到。husky 继承了Git下所有的钩子,在触发pre-commit钩子的时候,阻止不合法的 commit、push 等等。

  1. 初始化 git 目录
    如果没有先初始化 git, 需要重新装husky。

    git init -y
    
  2. 安装 husky

    yarn 安装
    yarn add husky  -D
    
    or npm 安装
    npm install husky -D
    
  3. 添加 husky 脚本
    在 package.json 文件 scripts 中手动添加

    "prepare": "husky install"
    

    或者直接执行命令添加

    npm set-script prepare "husky install"
    

    prepare 脚本会在npm install(不带参数)之后自动执行。也就是说当我们执行npm install安装完项目依赖后会执行 husky install命令,该命令会创建.husky/目录并指定该目录为git hooks所在的目录。

  4. 执行 npm run prepare
    执行之后会发现项目根目录多了个.husky的目录及文件。
    在该目录下添加 pre-commit 和 commit-msg 文件。

  5. 在.husky/pre-commit文件添加如下命令:

    #!/bin/sh
    . "$(dirname "$0")/_/husky.sh"
    
    pnpm exec lint-staged
    或 pnpm run format
    
    # 当然也可以配合 prettier pretty-quick 这个两个插件来做代码格式化的修复,不需要可不用
    # pnpm exec pretty-quick --staged
    

    这样在使用 git commit 之前,会先执行 ./.husky/pre-commit 下的脚本,实现提交前的拦截修复

二、commitlint

  1. commitlint 是什么
    对于我们的commit信息,也是有统一规范的,不能随便写,要让每个人都按照统一的标准来执行,我们可以利用commitlint来实现。

  2. 安装

    pnpm add @commitlint/config-conventional @commitlint/cli -D
    
  3. 新建 commitlint.config.cjs 然后添加下面的代码:

    module.exports = {
      extends: ['@commitlint/config-conventional'],
      // 校验规则
      rules: {
        'type-enum': [
          2,
          'always',
          [
            'feat',
            'fix',
            'docs',
            'style',
            'refactor',
            'perf',
            'test',
            'chore',
            'revert',
            'build',
          ],
        ],
        'type-case': [0],
        'type-empty': [0],
        'scope-empty': [0],
        'scope-case': [0],
        'subject-full-stop': [0, 'never'],
        'subject-case': [0, 'never'],
        'header-max-length': [0, 'always', 72],
      },
    }
    
    
  4. package.json 中配置scripts

    {
    	“scripts”: {
    	“commitlint”: “commitlint --config commitlint.config.cjs -e -V”
    	},
    }
    
  5. 配置 husky

    npx husky add .husky/commit-msg
    
  6. 在生成的commit-msg文件中添加下面的命令

    #!/usr/bin/env sh
    . “$(dirname – “$0”)/_/husky.sh”
    pnpm commitlint
    或 npx --no-install commitlint --edit "$1"
    

规范汇总

前端构建规范

  • 13
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个前端项目的开发依赖列表,其中包含了以下这些包: 1. "@commitlint/cli": "^17.6.3" - 这是一个用于规范提交信息的工具。 2. "@commitlint/config-conventional": "^17.6.3" - 这是一个用于规范提交信息的配置文件,其规则基于常见的约定式提交规范。 3. "@rushstack/eslint-patch": "^1.2.0" - 这是一个用于在 RushJS 项目中禁用 ESLint 缓存的工具。 4. "@vitejs/plugin-vue": "^4.0.0" - 这是一个用于在 Vite 构建工具中支持 Vue 的插件。 5. "@vue/eslint-config-prettier": "^7.1.0" - 这是一个用于在 Vue 项目中集成 Prettier 的 ESLint 配置。 6. "eslint": "^8.34.0" - 这是一个用于代码规范检查的工具。 7. "eslint-plugin-vue": "^9.9.0" - 这是一个用于在 ESLint 中支持 Vue 的插件。 8. "husky": "^8.0.0" - 这是一个用于在 Git Hooks 中运行脚本的工具。 9. "less": "^4.1.3" - 这是一种 CSS 预处理器。 10. "lint-staged": "^13.2.2" - 这是一个用于在 Git Hooks 中对指定文件进行代码规范检查的工具。 11. "prettier": "^2.8.4" - 这是一个用于代码格式化的工具。 12. "unplugin-auto-import": "^0.15.3" - 这是一个用于自动导入模块的 Vite 插件。 13. "unplugin-icons": "^0.16.1" - 这是一个用于在 Vite 中按需引入图标的插件。 14. "unplugin-vue-components": "^0.24.1" - 这是一个用于在 Vite 中按需引入 Vue 组件的插件。 15. "vite": "^4.1.4" - 这是一个基于 ESModules 的前端构建工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值