您现在的位置是:首页 > 编程 > 

【Vue工程】00

2025-07-27 20:11:40
【Vue工程】00 【Vue工程】00-配置 husky、lint-staged、@commitlint/cli一、概述1、huskyhusky 的读音为 /ˈhʌski/Husky 是一个 Git Hook 工具,可以帮助我们在 Git 事件发生时自动运行脚本。Git Hook 是一种机制,它允许在 Git 执行操作时自动运行特定脚本,以执行自定义操作。使用 Husky,可以轻松地添加 Gi

【Vue工程】00

【Vue工程】00-配置 husky、lint-staged、@commitlint/cli一、概述

1、husky

husky 的读音为 /ˈhʌski/

Husky 是一个 Git Hook 工具,可以帮助我们在 Git 事件发生时自动运行脚本。Git Hook 是一种机制,它允许在 Git 执行操作时自动运行特定脚本,以执行自定义操作。

使用 Husky,可以轻松地添加 Git Hooks,并在特定的 Git 事件(如提交代码)发生时执行自定义的脚本。例如,在提交代码之前自动运行代码格式化脚本或运行代码静态分析工具等。

Husky 支持多种 Git Hooks,包括 pre-commit、pre-push 等,并可以配置多个钩子,以便在多个 Git 事件发生时执行自定义脚本。

Husky 是一个基于 ode.js 的工具,可以在 ode.js 项目中使用。

2、lint-staged

lint-staged 的读音为 /lɪnt steɪdʒd/。

lint-staged 是一个工具,可以在 Git 暂存区的文件上运行指定的 lint 工具,以便于仅在需要时执行 lint 检查。它通常与 Husky 配合使用,以在提交代码前运行 lint-staged。使用 lint-staged 可以大大提高 lint 检查的效率,因为只需要针对本次提交的文件执行 lint 检查,而不是所有的文件。

lint-staged 支持多种 lint 工具,例如 ESLint、Prettier、Stylelint 等,并可以配置多个 lint 工具。它还支持使用 glob 模式来选择要运行 lint 工具的文件。

lint-staged 是一个基于 ode.js 的工具,可以在 ode.js 项目中使用。

、@commitlint/cli

@commitlint/cli 的读音为 /kəˈmɪtlɪnt kli/。

@commitlint/cli 是一个命令行工具,用于校验 Git 提交信息是否符合规范。它通常与 Husky 和 lint-staged 配合使用,以在提交代码前对提交信息进行校验,从而确保提交信息的格式和内容符合项目规范和约定。

@commitlint/cli 遵循 Conventional Commits 规范,可以自定义配置校验规则。它支持多种校验规则,例如校验提交信息的类型、描述和主体等,并可以在不同的提交阶段执行不同的校验规则。例如,在提交代码前只检查代码格式和 lint 检查,而在合并代码时进行更全面的提交信息校验。

@commitlint/cli 是一个基于 ode.js 的工具,可以在 ode.js 项目中使用。

二、安装与配置

1、安装依赖

代码语言:javascript代码运行次数:0运行复制
pnpm add husky -D
pnpm add lint-staged -D
pnpm add @commitlint/cli @commitlint/config-conventional -D

2、在项目根目录创建 .husky 目录

、运行脚本

脚本
代码语言:javascript代码运行次数:0运行复制
// 生成 .husky 的文件夹
npx husky install

// 添加 hooks,会在 .husky 目录下生成一个 pre-commit 脚本文件
npx husky add .husky/pre-commit "npx --no-install lint-staged"

// 添加 commit-msg
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'
生成的文件 pre-commit
代码语言:javascript代码运行次数:0运行复制
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

npx --no-install lint-staged
生成的文件 commit-msg
代码语言:javascript代码运行次数:0运行复制
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

npx --no-install commitlint --edit $1

4、在 package.json 中根结构新增 lint-staged 配置

代码语言:javascript代码运行次数:0运行复制
"lint-staged": {
    "*.{js,jsx,vue,ts,tsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{scss,less,css,html,md}": [
      "prettier --write"
    ],
    "package.json": [
      "prettier --write"
    ],
    "{!(package)*.json,.!(browserslist)*rc}": [
      "prettier --write--parser json"
    ]
},

5、在项目根目录新建

配置

提示:由于 package.json 的 “type”: “module”,需将 commonjs 文件显示声明为 .cjs

代码语言:javascript代码运行次数:0运行复制
 = {
  extends: ['@commitlint/config-conventional'],
};
提交格式
代码语言:javascript代码运行次数:0运行复制
git commit -m <type>[optional scope]: <description> // 注意冒号后面有空格
- type:提交的类型(如新增、修改、更新等)
- optional scope:涉及的模块,可选
- description:任务描述
type 类型

类别

含义

feat

新功能

fix

修复 bug

style

样式修改(UI校验)

docs

文档更新

refactor

重构代码(既没有新增功能,也没有修复 bug)

perf

优化相关,比如提升性能、体验

test

增加测试,包括单元测试、集成测试等

build

构建系统或外部依赖项的更改

ci

自动化流程配置或脚本修改

revert

回退某个 commit 提交

6、示范(非规范提交,将提交失败)

代码语言:javascript代码运行次数:0运行复制
git commit -m 'feat: 增加 xxx 功能'
git commit -m 'bug: 修复 xxx 功能'
三、vscode 保存自动格式化

在 .vscode 目录下新建 settings.json

代码语言:javascript代码运行次数:0运行复制
{
  "": {
    "source.fixAll": true
  }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:202-05-12,如有侵权请联系 cloudcommunity@tencent 删除脚本配置clilint工具

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1199390.html

相关标签:无
上传时间: 2025-07-23 15:17:11

上一篇:【Vue工程】004

下一篇:【Vue工程】002

留言与评论(共有 12 条评论)
本站网友 跳蛋是干什么用的
1分钟前 发表
<description> // 注意冒号后面有空格 - type:提交的类型(如新增
本站网友 永州房产网
0秒前 发表
而不是所有的文件
本站网友 强降雨
4分钟前 发表
并在特定的 Git 事件(如提交代码)发生时执行自定义的脚本
本站网友 新生儿窒息复苏
18分钟前 发表
Husky 支持多种 Git Hooks
本站网友 郑明辉
28分钟前 发表
@commitlint/cli 遵循 Conventional Commits 规范
本站网友 天和医院
21分钟前 发表
huskyhusky 的读音为 /ˈhʌski/Husky 是一个 Git Hook 工具
本站网友 资中租房
15分钟前 发表
它支持多种校验规则
本站网友 金尧首府
5分钟前 发表
vscode 保存自动格式化 在 .vscode 目录下新建 settings.json 代码语言:javascript代码运行次数:0运行复制{ ""
本站网友 大连亲子鉴定
25分钟前 发表
并可以配置多个钩子
本站网友 知道不知道侃侃
14分钟前 发表
在项目根目录新建 配置 提示:由于 package.json 的 “type”
本站网友 常熟房屋出租
29分钟前 发表
在项目根目录新建 配置 提示:由于 package.json 的 “type”