国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

從0搭建Vue3組件庫(十三):引入Husky規(guī)范git提交

這篇具有很好參考價值的文章主要介紹了從0搭建Vue3組件庫(十三):引入Husky規(guī)范git提交。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

為什么要引入 husky?

雖然我們項目中引入了prettiereslint對代碼格式進行了校驗,但是多人開發(fā)的時候難免依然會有人提交不符合規(guī)范的代碼到倉庫中,如果我們拉取到這種代碼還得慢慢對其進行修改,這是一件很麻煩的事情,同時也為了避免團隊成員提交五花八門message,因此我們可以引入 husky 來從源頭上解決此類問題。簡單來說,husky 可以在我們提交代碼之前校驗我們的代碼是否符合我們配置的規(guī)范。接下來就讓我們看一下 husky 的具體使用吧!

husky 的使用

首先安裝

pnpm i husky -D -w

在 package.json 中 scripts 中設置 prepare 鉤子:husky install,在使用pnpm install的時候就會自動執(zhí)行husky,以便于別人拉取完我們代碼進行pnpm insall的時候直接進行husky install。我們可以使用命令

pnpm pkg set scripts.prepare="husky install"

或者你也可以手動添加


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

因為我們沒有執(zhí)行pnpm install,所以要先執(zhí)行一下

npx husky install

然后添加一個 commit 鉤子文件

npx husky add .husky/pre-commit "npm run xxx"

然后我們就會發(fā)現(xiàn)根目錄出現(xiàn)了.husky/pre-commit 文件,我們修改一下 commit 之前的命令,讓其提交之前先進行 lint 校驗

#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

pnpm run lint:script
pnpm run lint:style

修改一個不符合 eslint 的規(guī)范文件,然后進行提交之后你會發(fā)現(xiàn)它會先自動給你修復之后再進行提交,如果無法修復則拋出一個錯誤

commitlint 的安裝與使用

我們看開源項目的時候會看到他們代碼提交信息會有諸如feat: 添加xxx,fix: 修復xxxbug之類的信息,其實這些也是有一個規(guī)范的,下面列舉一些常用的 git 提交規(guī)范

  • build: 編譯相關的修改,例如發(fā)布版本、對項目構建或者依賴的改動
  • chore: 其他修改, 比如改變構建流程、或者增加依賴庫、工具等
  • ci: 持續(xù)集成修改
  • docs: 文檔修改
  • feat: 新特性、新功能
  • fix: 修改 bug
  • perf: 優(yōu)化相關,比如提升性能、體驗
  • refactor: 代碼重構
  • revert: 回滾到上一個版本
  • style: 代碼格式修改, 注意不是 css 修改
  • test: 測試用例修改

為了讓我們團隊都使用這些提交規(guī)范我們就需要用到commitlint,首先我們需要安裝幾個工具

pnpm install --save-dev @commitlint/config-conventional @commitlint/cli -w

其中 @commitlint/config-conventional 是一個規(guī)范配置,標識采用什么規(guī)范來執(zhí)行消息校驗, 這個默認是 Angular 的提交規(guī)范,@commitlint/cli 是一個使用 lint 規(guī)則來校驗提交記錄的命令行工具

新建commitlint.config.cjs,這里可以自定義配置 git 提交的 message 規(guī)范

module.exports = {
  extends: ['@commitlint/config-conventional']
};

然后在.husky/commit-msg 中添加npx --no -- commitlint --edit "$1"

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx --no -- commitlint --edit "$1"

然后提交一個不符合規(guī)范的 type,就會發(fā)現(xiàn)報錯了

從0搭建Vue3組件庫(十三):引入Husky規(guī)范git提交

正確提交方式應為<type>(<?scope>): <subject>,例如

feat(global): 添加commitlint規(guī)范

配置 lint-staged

我們根據(jù)上面的配置是可以實現(xiàn)我們想要的效果的,但是我們會發(fā)現(xiàn)每次提交代碼的時候 ESlint 或 Stylelint 都會檢查所有文件,而我們需要的是只讓它們檢測新增的文件,因此我們可以使用lint-staged來解決這個問題

首先安裝lint-staged

pnpm add lint-staged -D -w

然后再 package.json 中進行配置

{
  "lint-staged": {
    "src/**/*.{js,jsx,ts,tsx,vue}": [
      "eslint --ext .js,.jsx,.vue,.ts,.tsx --fix --quiet ./",
      "stylelint --fix \"packages/components/src/**/*.{css,less}\""
    ]
  },
    "scripts": {
    "lint-staged": "lint-staged"
  },
}

最后修改一下``.husky/pre-commit

#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
pnpm run lint-staged

ok,現(xiàn)在它只會檢測我們添加到暫存區(qū)的文件了

完整代碼已經(jīng)提交到easyest上了,需要的小伙伴可以自取~

最后

如果你對組件庫開發(fā)感興趣的話可以掃碼關注公眾號web前端進階,里面有詳細的搭建過程,記得點贊哦~~

從0搭建Vue3組件庫(十三):引入Husky規(guī)范git提交文章來源地址http://www.zghlxwxcb.cn/news/detail-469546.html

到了這里,關于從0搭建Vue3組件庫(十三):引入Husky規(guī)范git提交的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 從0搭建Vue3組件庫(十一): 集成項目的編程規(guī)范工具鏈(ESlint+Prettier+Stylelint)

    從0搭建Vue3組件庫(十一): 集成項目的編程規(guī)范工具鏈(ESlint+Prettier+Stylelint)

    欲先善其事,必先利其器。一個好的項目是必須要有一個統(tǒng)一的規(guī)范,比如代碼規(guī)范,樣式規(guī)范以及代碼提交規(guī)范等。統(tǒng)一的代碼規(guī)范旨在增強團隊開發(fā)協(xié)作、提高代碼質(zhì)量和打造開發(fā)基石,所以每個人必須嚴格遵守。 本篇文章將引入 ESLint+Prettier+Stylelint 來對代碼規(guī)范化。 ESLint

    2024年02月02日
    瀏覽(42)
  • uniapp+vue3+vite+ts搭建項目引入uni-ui和uviewPlus組件庫

    一、創(chuàng)建項目架構 首先使用官方提供的腳手架創(chuàng)建一個項目 在這里插入代碼片 ,這里我創(chuàng)建的 vue3 + vite + ts 的項目: (如命令行創(chuàng)建失敗,請直接訪問 gitee下載模板) 二、下載依賴 啟動 三、下載安裝包 引入uni-ui src/package.json 文件配置easycom模式 引入uview-plus main.ts配置 u

    2024年02月13日
    瀏覽(16)
  • 代碼提交規(guī)范-ESLint+Prettier+husky+Commitlint

    代碼提交規(guī)范-ESLint+Prettier+husky+Commitlint

    先看下思維導圖分析 裝包配置.eslintrc.js 配置忽略文件 運行 詳細講解 以react 項目為例 配置文件 eslintrc文件 根目錄/.eslintrc.js 設置忽略文件 .eslintignore 主要步驟 配置perttier 配置忽略文件 處理eslint的沖突 配置vscode的setting.json 配置.prettierrc.js文件 判斷是否生效直接使用命令 n

    2024年02月04日
    瀏覽(18)
  • vue3項目+TypeScript前端項目—— vue3搭建項目+eslint+husky

    vue3項目+TypeScript前端項目—— vue3搭建項目+eslint+husky

    今天來帶大家從0開始搭建一個vue3版本的后臺管理系統(tǒng)。一個項目要有統(tǒng)一的規(guī)范,需要使用eslint+stylelint+prettier來對我們的代碼質(zhì)量做檢測和修復,需要使用husky來做commit攔截,需要使用commitlint來統(tǒng)一提交規(guī)范,需要使用preinstall來統(tǒng)一包管理工具。 下面我們就用這一套規(guī)范

    2024年02月22日
    瀏覽(25)
  • Vite4+Pinia2+vue-router4+ElmentPlus搭建Vue3項目(組件、圖標等按需引入)[保姆級]

    Vite4+Pinia2+vue-router4+ElmentPlus搭建Vue3項目(組件、圖標等按需引入)[保姆級]

    本文為快速搭建vite4項目,一些插件的詳情就不做過多的解釋,都放有官網(wǎng)鏈接,需要深入了解的小伙伴可自行查看。至于為什么選擇使用vite,因為它具備著快速啟動、按需編譯、模塊熱更新的亮點。歸根結底最大的特點就是 快 。vue的創(chuàng)始人是尤雨溪大佬,vite也是他。所以

    2023年04月19日
    瀏覽(31)
  • React 項目配置代碼提交規(guī)范 ESLint、Pretttier、Husky、CommitLint

    React 項目配置代碼提交規(guī)范 ESLint、Pretttier、Husky、CommitLint

    React 項目配置代碼提交規(guī)范 ESLint、Pretttier、Husky、CommitLint 前言 團隊開發(fā)的成員越來越多,項目都是由多個人進行開發(fā)和維護,每個人的代碼書寫習慣和風格又不盡相同,commit 的提交log 也是亂七八糟,為以后的開發(fā)和維護增添了很多困難,所以規(guī)范和約束在多人協(xié)作下,就

    2024年04月15日
    瀏覽(33)
  • vue項目配置git提交規(guī)范

    vue項目配置git提交規(guī)范

    項目中代碼格式以及git message如果不加以約束,可能最終的格式會五花八門,這樣很不利于我們的項目合作。所以我們需要使用工具來約束提交代碼和信息的格式。 Husky 是一個 Git Hook 工具,可以幫助我們在 Git 事件發(fā)生時自動運行腳本。Git Hook 是一種機制,它允許在 Git 執(zhí)行

    2024年02月11日
    瀏覽(18)
  • 【git規(guī)范--husky的使用】

    在團隊開發(fā)中,或者自己的項目中,我們都會用到git來管理我們的代碼,但是當我們commit(git commit)的時候,是沒有規(guī)范的,有的時我們偷懶甚至 git commit -m\\\'..\\\' ,這種提交雖然當時爽,但如果有一天我們需要回滾版本的時候, git relog ,媽耶,這都是啥啊,如果在團隊開發(fā)中這

    2024年02月05日
    瀏覽(47)
  • git 提交vue代碼時遇 代碼檢查 規(guī)范性 報錯 導致提交不了

    git 提交vue代碼時遇 代碼檢查 規(guī)范性 報錯 導致提交不了, ? 在代碼提交之前,進行代碼規(guī)則檢查能夠確保進入git庫的代碼都是符合代碼規(guī)則的。但是整個項目上運行l(wèi)int速度會很慢,lint-staged能夠讓lint只檢測暫存區(qū)的文件,所以速度很快。 一般是eslint檢查導致,在package.j

    2024年02月11日
    瀏覽(53)
  • vite+vue3+ts+eslint+prettier+husky+lint-stated 項目搭建

    項目搭建 創(chuàng)建初始項目 Node.js 版本 14.18+,16+ npm create vite@latest my-vue-app --template vue-ts 添加eslint eslint 初始化 npm init @eslint/config eslint初始化腳本,按自己的要求選擇相應的eslint 配置,以下是我選擇的配置項 ? How would you like to use ESLint? · style ? What type of modules does your project

    2024年02月08日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包