返回顶部
首页 > 资讯 > 精选 >vue-cli怎么创建gitHooks
  • 773
分享到

vue-cli怎么创建gitHooks

2023-07-04 15:07:49 773人浏览 薄情痞子
摘要

今天小编给大家分享一下Vue-cli怎么创建gitHooks的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在 pa

今天小编给大家分享一下Vue-cli怎么创建gitHooks的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

在 package.JSON 文件中会发现 gitHooks 、 lint-staged 等字段,不难看出它是在我们执行 git 命令的时候会自动执行的一些额外的操作,比如语法提示、错误提示等。

流程解析

yorkie 包

执行 vue create 命令的时候,会安装一个包,叫: yorkie ,这个包是尤大 fork 自 husky 的,它俩功能是一样的,都是生成一些 git hooks 文件,读取项目中 package.json 的相关配置项去执行一些命令,区别是尤大做了一些逻辑和配置上的改动。

安装完这个包以后,会自动执行 yorkie 包里面的一个脚本: bin/install.js :

vue-cli怎么创建gitHooks

这个脚本会在你项目下的 .git/hooks 目录中生成很多 git hooks 文件:

vue-cli怎么创建gitHooks

当你执行一些 git 命令的时候,比如: git push, git commit 等,git 就会执行相应的 hook。

package.json

以 git commit -a -m'123' 这个命令为例子,执行这个命令的时候,git 会去执行 pre-commit 这个 hook。

先把 package.json 的相关内容贴出来,让大家先有个印象:

"gitHooks": { "pre-commit": "lint-staged",},"lint-staged": { "*.{js,jsx,vue}": [ "vue-cli-service lint", "git add" ]}

pre-commit hook

接下来我们看 pre-commit 的文件内容:

##...has_hook_script () { [ -f package.json ] && cat package.json | grep -q "\"$1\"[[:space:]]*:"}# 检查 package.json 文件中是否定义了 pre-commithas_hook_script pre-commit || exit 0# 运行 hook node "./node_modules/yorkie/src/runner.js" pre-commit || { echo echo "pre-commit hook failed (add --no-verify to bypass)" exit 1}

可以看到 pre-commit 文件去检查了一下 package.json 文件中是否定义了pre-commit,如果定义了,就执行 yorkie 的 runner.js 脚本。

yorkie 的 runner.js 脚本

我们继续看 runner.js 脚本的内容:

//...const cwd = process.cwd()const pkg = fs.readFileSync(path.join(cwd, 'package.json'))// 取到 package.json 里面定义的 gitHooks 内容const hooks = JSON.parse(pkg).gitHooksif (!hooks) { process.exit(0)}// 从上文得知,这个值是 pre-commitconst hook = process.argv[2]// 取 gitHooks 里面定义的 pre-commit 的内容,也就取到:lint-stagedconst command = hooks[hook]if (!command) process.exit(0)// 执行 lint-staged 命令execa.shellSync(command, { stdio: 'inherit' })

从这个过程中可以看到,当我们执行 git commit -a -m'123' 这个 git 命令的时候,git hook 执行了 yorkie 的一个脚本去读取了 package.json 文件中的内容,取到相关的配置项,然后执行配置项中的命令。

在上述例子中,因为执行了 lint-staged 命令,它会读取 package.json 中的 "lint-staged" 配置项,进而又继续执行了 vue-cli-service lint 这个命令,整个执行的过程就像像链条一样一环连着一环,直到所有命令都执行完毕。

实践

明白了这个流程后,在项目中就可以根据需求灵活地做一些配置了,比如在执行 commit-msg hook 的时候加上 commitlint ,规范协作者提交的git 信息,加上这个以后,执行之前的示例命令: git commit -a -m'123' 就会有提交信息不规范的错误提示,根据提示改成: git commit -a -m'feat: 123' 就可以提交了。

同样的,与 pre-commit 搭配使用的 lint-staged ,也可以加上一些命令,比如这里加了 pretty-quick 用来统一代码格式。

示例:

"gitHooks": { "pre-commit": "lint-staged", "commit-msg": "commitlint -E GIT_PARAMS"},"lint-staged": { "*.{js,jsx,vue}": [ "pretty-quick --staged", "vue-cli-service lint", "git add" ]}

Vue的优点

Vue具体轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟DOM、运行速度快等优势,Vue中页面使用的是局部刷新,不用每次跳转页面都要请求所有数据和dom,可以大大提升访问速度和用户体验。

以上就是“vue-cli怎么创建gitHooks”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: vue-cli怎么创建gitHooks

本文链接: https://lsjlt.com/news/346183.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue-cli怎么创建gitHooks
    今天小编给大家分享一下vue-cli怎么创建gitHooks的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在 pa...
    99+
    2023-07-04
  • vue-cli是什么及创建vue-cli项目的方法
    目录1.什么是 vue-cli2.安装 vue-cli3.解决 Windows PowerShell 不识别 vue 命令的问题4.创建项目 vue-cli4.1 基于 vue ui...
    99+
    2023-05-16
    vue-cl创建项目 vue-cl是什么
  • Vue如何使用vue-cli创建项目
    这篇文章主要介绍了Vue如何使用vue-cli创建项目,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体如下:vue-cli 是一个官方发布...
    99+
    2024-04-02
  • 使用vue-cli创建vue项目介绍
    1、什么是vue-cli 是vue官方提供的脚手架工具。脚手架工具简单讲就是自动将项目需要的环境、依赖等信息都配置好。 2、全局安装vue-cli (1)检查npm 版本,建议安装到...
    99+
    2024-04-02
  • 使用Vue怎么创建一个vue-cli脚手架程序
    使用Vue怎么创建一个vue-cli脚手架程序?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1. Vue--第一个vue-cli程序Vue的开发都是要基于Nod...
    99+
    2023-06-15
  • vue-cli创建项目的loader问题怎么解决
    这篇文章主要介绍“vue-cli创建项目的loader问题怎么解决”,在日常操作中,相信很多人在vue-cli创建项目的loader问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue-cli创建...
    99+
    2023-07-04
  • 利用Vue3 (一)创建Vue CLI 项目
    目录一、官方文档二、创建Vue CLI项目1、安装Vue CLI2、创建web应用3、启动web应用三、Vue CLI项目结构讲解一、官方文档 Vue3文档 - vuejs http...
    99+
    2024-04-02
  • vue-cli创建项目ERROR in Conflict:报错怎么解决
    本文小编为大家详细介绍“vue-cli创建项目ERROR in Conflict:报错怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue-cli创建项目ERROR in Conflict:...
    99+
    2023-07-05
  • vue-cli创建vue项目的详细步骤记录
    目录什么是Vue脚手架vue-cli创建vue项目总结什么是Vue脚手架 Vue脚手架,也就是vue cli。如果我们平时只是写一些简单的页面的时候,只需要下载vue.js就行了。但...
    99+
    2024-04-02
  • vue怎么使用脚手架vue-cli创建并引入自定义组件
    小编给大家分享一下vue怎么使用脚手架vue-cli创建并引入自定义组件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、创建并引入一个组件1、创建组件vue-cli中的所有组件都是存放在components文件夹下面的,...
    99+
    2023-06-29
  • 如何用vue-cli创建项目并webpack打包
    本篇内容介绍了“如何用vue-cli创建项目并webpack打包”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所...
    99+
    2024-04-02
  • vue-cli创建项目及项目结构解析
    目录1.进入一个目录,创建项目2.选择你需要的配置项2.1 选择vue版本2.2 选择选择是否使用history router2.3 选择css 预处理器2.4 选择Eslint代码...
    99+
    2024-04-02
  • 使用 vue-cli怎么搭建一个vue项目
    使用 vue-cli怎么搭建一个vue项目,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 一、 安装 node.js首先需要安装no...
    99+
    2024-04-02
  • 如何使用vue-cli创建项目并webpack打包
    这篇文章主要介绍“如何使用vue-cli创建项目并webpack打包”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用vue-cli创建项目并webpack打包...
    99+
    2024-04-02
  • vue-cli@3.0怎么用
    小编给大家分享一下vue-cli@3.0怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!(一)安装:1、下载安装node: ...
    99+
    2024-04-02
  • 怎么安装vue-cli
    这篇文章主要介绍“怎么安装vue-cli”,在日常操作中,相信很多人在怎么安装vue-cli问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么安装vue-cli”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-25
  • vue路由怎么创建
    这篇“vue路由怎么创建”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue路由怎么创建”...
    99+
    2024-04-02
  • Vue新手指南之创建第一个vue-cli脚手架程序
    1. Vue--第一个vue-cli程序 Vue的开发都是要基于NodeJS,实际开发采用Vue-cli脚手架开发,vue-router路由,vuex做状态管理;Vue UI,界面我...
    99+
    2024-04-02
  • vue使用脚手架vue-cli创建并引入自定义组件
    一、创建并引入一个组件 1、创建组件 vue-cli中的所有组件都是存放在components文件夹下面的,所以在components文件夹下面创建一个名为First.vue的自定义...
    99+
    2024-04-02
  • 脚手架(vue-cli)创建Vue项目的超详细过程记录
    目录cli3.x/4.x创建Vue项目1.创建项目2.项目手动配置3.选择vue版本4.路由模式5.配置文件的存放位置6.配置保存项目创建成功总结 cli3.x/4.x创建...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作