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

React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint

這篇具有很好參考價(jià)值的文章主要介紹了React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

我的項(xiàng)目版本如下:

  • React: V18.2.0
  • Node.js: V16.14.0
  • TypeScript:最新版
  • 工具: VsCode

本文將采用圖文詳解的方式,手把手帶你快速完成在React項(xiàng)目中配置husky、prettier、commitLint,實(shí)現(xiàn)編碼規(guī)范的統(tǒng)一,git提交規(guī)范的統(tǒng)一。


一、使用 eslint

1.1 裝包

npm install eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin --save-dev

1.2 ESLint 插件安裝

React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint,# React基礎(chǔ),react.js,前端,typescript


1.3 創(chuàng)建命令并使用

新增命令

"lint": "eslint \"src/**/*.+(js|ts|jsx|tsx)\"",

React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint,# React基礎(chǔ),react.js,前端,typescript
執(zhí)行 npm run lint :
React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint,# React基礎(chǔ),react.js,前端,typescript

二、使用 prettier

2.1 裝包

npm install prettier eslint-config-prettier eslint-plugin-prettier --save-dev

React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint,# React基礎(chǔ),react.js,前端,typescript

2.2 創(chuàng)建配置文件

在根目錄中創(chuàng)建 .eslintrc.js 文件,寫入如下代碼

module.exports = {
  "env": {
    "browser": true,
    "es2021": true
  },
  "extends": [
    "eslint:recommended",
    "plugin:react/recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:prettier/recommended"
  ],
  "overrides": [
  ],
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaVersion": "latest",
    "sourceType": "module"
  },
  "plugins": [
    "react",
    "@typescript-eslint"
  ],
  "settings": {
    "react": {
      "version": '18.2.0', // 指定你的 React 版本,可以是具體版本號(hào)或 "detect" 自動(dòng)檢測(cè)
    },
  },
  "rules": {
  }
}

2.3 安裝插件

Prettier - Code formatter

React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint,# React基礎(chǔ),react.js,前端,typescript
安裝成功后:
React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint,# React基礎(chǔ),react.js,前端,typescript

2.3 創(chuàng)建命令并使用

新增命令:表示掃描文件格式,并將文件中的代碼修改為正確的格式

"format": " prettier --write \"src/**/*.+(js|ts|jsx|tsx)\"",

React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint,# React基礎(chǔ),react.js,前端,typescript
運(yùn)行命令:
React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint,# React基礎(chǔ),react.js,前端,typescript
React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint,# React基礎(chǔ),react.js,前端,typescript

2.4 vscode 配置

配置成功后,之前講的通過 npm run format 可以將雙引號(hào)格式化為 單引號(hào),現(xiàn)在僅需使用 ctrl + s 保存文件,vscode 即可自行格式化

{
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  }
}

React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint,# React基礎(chǔ),react.js,前端,typescript

2.5 代碼風(fēng)格配置

根目錄下新建 .prettierrc.js 文件,并寫入如下代碼:

module.exports = {	
  // 箭頭函數(shù)只有一個(gè)參數(shù)的時(shí)候可以忽略括號(hào)
  arrowParens: 'avoid',
  // 括號(hào)內(nèi)部不要出現(xiàn)空格
  bracketSpacing: true,
  // 行結(jié)束符
  endOfLine: 'auto',
  // 行寬
  printWidth: 100,
  // 換行方式
  proseWrap: 'preserve',
  // 分號(hào)
  semi: false,
  // 使用單引號(hào)
  singleQuote: true,
  // 縮進(jìn)
  tabWidth: 2,
  // 使用tab縮進(jìn)
  useTabs: false,
  // 后置逗號(hào),多行對(duì)象、數(shù)組在最后一行增加逗號(hào)
  trailingComma: 'es5',
  parser: 'typescript',
}

2.6 重啟 vscode

重啟 vscode 后,我們?cè)?.prettierrc.js 文件中配置的代碼風(fēng)格才會(huì)生效


三、將代碼提交到 git 倉庫

如何使用 vscode 將代碼推送至 git 倉庫??:http://t.csdnimg.cn/t7YT9


四、使用 husky

4.1 簡(jiǎn)介

  • 一個(gè) git hook 工具
  • 在 git commit 之前執(zhí)行自定義的命令
  • 如執(zhí)行代碼風(fēng)格的檢查,避免提交非規(guī)范代碼

最終實(shí)現(xiàn)的是,即使多人協(xié)同開發(fā)項(xiàng)目,最終提交到遠(yuǎn)程倉庫中的,也是符合規(guī)范的、風(fēng)格統(tǒng)一的代碼。

4.2 安裝

npm install husky -D

4.3 編輯package.json >準(zhǔn)備腳本并運(yùn)行一次

npm pkg set scripts.prepare="husky install"
npm run prepare

4.4 增加鉤子函數(shù)

// 表示 git commit 之前執(zhí)行 npm run lint 
npx husky add .husky/pre-commit "npm run lint"
// 表示 git commit 之前執(zhí)行 npm run format 
npx husky add .husky/pre-commit "npm run format"
// 表示 git commit 之前執(zhí)行 npm run git add .
npx husky add .husky/pre-commit "git add ."

React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint,# React基礎(chǔ),react.js,前端,typescript
簡(jiǎn)單測(cè)試一下:
React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint,# React基礎(chǔ),react.js,前端,typescript


五、使用 commitlint

5.1 安裝

windows:

npm install --save-dev @commitlint/config-conventional @commitlint/cli

mac:

npm install --save-dev @commitlint/{config-conventional,cli}

5.2 配置

echo "module.exports = {extends: ['@commitlint/config-conventional']}" > commitlint.config.js

5.3 安裝 husky

注:已安裝 husky 的不用重復(fù)安裝
npm:

npm install husky --save-dev

yarn

yarn add husky --dev

5.4 增加 hook

npx husky add .husky/commit-msg  'npx --no -- commitlint --edit ${1}'

5.5 測(cè)試一下

隨便寫一個(gè)提交描述,將無法成功提交
React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint,# React基礎(chǔ),react.js,前端,typescript

5.6 正確且優(yōu)雅的提及

參考 git 上的開源項(xiàng)目 vue-pure-admin
React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint,# React基礎(chǔ),react.js,前端,typescript


參考大家熟知的 vue.js :
React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint,# React基礎(chǔ),react.js,前端,typescript

5.7 提交格式

前綴 + 冒號(hào) + 一個(gè)空格 + 本次提交描述

5.8 查看合法的提交前綴

React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint,# React基礎(chǔ),react.js,前端,typescript
React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint,# React基礎(chǔ),react.js,前端,typescript


六、授人以漁

6.1 以上步驟如何來的?

或許屏幕前的你,會(huì)好奇,為啥我就知道是這些命令,然后這樣配置就能成功,其實(shí)這些步驟,在 github 上都有寫, 而且比你在網(wǎng)上找的博客帖子更加準(zhǔn)確。

6.2 以 husky 為例

React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint,# React基礎(chǔ),react.js,前端,typescript
React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint,# React基礎(chǔ),react.js,前端,typescript文章來源地址http://www.zghlxwxcb.cn/news/detail-713710.html


七、創(chuàng)作不易,點(diǎn)贊收藏不迷路

到了這里,關(guān)于React18入門(第二篇)——React18+Ts項(xiàng)目配置husky、eslint、pretttier、commitLint的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 第二章 React項(xiàng)目配置ESlint和Prettier實(shí)現(xiàn)自動(dòng)格式化代碼以及統(tǒng)一代碼風(fēng)格

    第二章 React項(xiàng)目配置ESlint和Prettier實(shí)現(xiàn)自動(dòng)格式化代碼以及統(tǒng)一代碼風(fēng)格

    歡迎加入本專欄!本專欄將引領(lǐng)您快速上手React,讓我們一起放棄放棄的念頭,開始學(xué)習(xí)之旅吧!我們將從搭建React項(xiàng)目開始,逐步深入講解最核心的hooks,以及React路由、請(qǐng)求、組件封裝以及UI(Ant Design)框架的使用。讓我們一起掌握React,開啟前端開發(fā)的全新篇章! 需要準(zhǔn)

    2024年02月03日
    瀏覽(91)
  • 基于Vue3+Vite+TS+ESLint+Prettier+Husky+lint-staged+commitlint+stylelint的項(xiàng)目構(gòu)建

    基于Vue3+Vite+TS+ESLint+Prettier+Husky+lint-staged+commitlint+stylelint的項(xiàng)目構(gòu)建

    博客后臺(tái)管理系統(tǒng)使用后的是基于Vue3+Vite+TS+ESLint+Prettier的開發(fā),具體項(xiàng)目構(gòu)建如下 ESLint: 控制代碼質(zhì)量 Prettier: 控制代碼風(fēng)格 2.1、安裝ESLint、Prettier相關(guān)相關(guān)包 eslint: ESLint的核心代碼庫 prettier: Prettier的格式化代碼的核心代碼庫 eslint-config-airbnb-base: airbnb的代碼規(guī)范(依賴pl

    2024年02月07日
    瀏覽(28)
  • 為react項(xiàng)目添加開發(fā)/提交規(guī)范(前端工程化、eslint、prettier、husky、commitlint、stylelint)

    為react項(xiàng)目添加開發(fā)/提交規(guī)范(前端工程化、eslint、prettier、husky、commitlint、stylelint)

    因歷史遺留原因,接手的項(xiàng)目沒有代碼提醒/格式化,包括 eslint、pretttier,也沒有 commit 提交校驗(yàn),如 husky、commitlint、stylelint,與其期待自己或者同事的代碼寫得完美無缺,不如通過一些工具來進(jìn)行規(guī)范和約束。 eslint 是一個(gè)代碼校驗(yàn)工具,用來規(guī)范項(xiàng)目代碼風(fēng)格。 初始化 通

    2024年02月14日
    瀏覽(93)
  • vite+react+ts+eslint+prettier構(gòu)建react開發(fā)項(xiàng)目

    目錄 一、構(gòu)建項(xiàng)目 二、安裝eslint和prettier的依賴 三、修改.eslintrc.cjs,創(chuàng)建.prettierrc.cjs 1、.eslintrc.cjs文件配置 2、ESlint忽略文件.eslintignore 3、.prettierrc.cjs文件配置 ?4、prettierrc忽略配置文件.prettierignore

    2024年02月11日
    瀏覽(30)
  • 使用React18+Ts創(chuàng)建項(xiàng)目

    使用React18+Ts創(chuàng)建項(xiàng)目

    首先,使用create-react-app工具創(chuàng)建一個(gè)新的React項(xiàng)目: 使用腳手架創(chuàng)建項(xiàng)目后,自帶react-dom等依賴項(xiàng),但react中的所用的路由方法是react-router-dom中。 默認(rèn)情況下,create-react-app模板會(huì)自動(dòng)生成一些文件和文件夾,這些文件和文件夾包括: node_modules:存儲(chǔ)所有的項(xiàng)目依賴項(xiàng)。 p

    2024年02月09日
    瀏覽(18)
  • 使用 create-react-app 搭建項(xiàng)目ts+less+antd+redux+router+eslint+prettier+axios

    使用 create-react-app 搭建項(xiàng)目ts+less+antd+redux+router+eslint+prettier+axios

    當(dāng)前市面上有很多前端框架或者模板、如:umi、dva、antd-design-pro、create-react-app 等一些框架或者模板。 create-react-app 是 react 官方提供的,相對(duì)來說比較干凈一些。 此項(xiàng)目是在 create-react-app 的基礎(chǔ)上進(jìn)行搭架、項(xiàng)目采用 ts 語法 項(xiàng)目整體上會(huì)添加上以下功能: 完整項(xiàng)目代碼 傳

    2024年02月03日
    瀏覽(29)
  • vue3+ts項(xiàng)目中eslint校驗(yàn)配置

    vue3+ts項(xiàng)目中eslint校驗(yàn)配置

    eslint中文官網(wǎng):ESLint - Pluggable JavaScript linter - ESLint中文 ESLint 是一個(gè)根據(jù)方案識(shí)別并報(bào)告 ECMAScript/JavaScript 代碼問題的工具,其目的是使代碼風(fēng)格更加一致并避免錯(cuò)誤,合理利用可以提高代碼質(zhì)量。 1.安裝eslint pnpm i eslint -D 2.生成eslint配置文件 npx eslint --init 3.安裝vue3代碼環(huán)境校

    2024年02月04日
    瀏覽(47)
  • 【vue3+ts項(xiàng)目】配置eslint校驗(yàn)代碼工具,eslint+prettier+stylelint

    【vue3+ts項(xiàng)目】配置eslint校驗(yàn)代碼工具,eslint+prettier+stylelint

    package.json中 vite后面加上 --open 回答問題如下: 使用eslint僅檢查語法,還是檢查語法及錯(cuò)誤,選第二個(gè) 使用的是什么模塊,選第一個(gè) 項(xiàng)目使用的是什么框架,選vue 項(xiàng)目中使用TyoeScript ,選yes 項(xiàng)目運(yùn)行在哪,選瀏覽器 創(chuàng)建的配置類型需要什么類型的,選Javascript 需要安裝這些

    2024年02月09日
    瀏覽(54)
  • vue3+Vite+TS項(xiàng)目,配置ESlint和Prettier

    vue3+Vite+TS項(xiàng)目,配置ESlint和Prettier

    實(shí)操過的有兩種方式 1.vue腳手架 2.vite(推薦,也是尤大大團(tuán)隊(duì)研發(fā)) 具體怎么新建一個(gè)vue3項(xiàng)目就不多講了,可以按照官方文檔來 創(chuàng)建后的文件目錄長(zhǎng)這樣 多提一句,vite也會(huì)隨著時(shí)間不斷迭代,后續(xù)項(xiàng)目結(jié)構(gòu)可能還會(huì)發(fā)生變化,當(dāng)前使用的vue版本 和vite版本也一并貼出來 下

    2024年04月15日
    瀏覽(42)
  • Nodejs+Typescript+Eslint+Prettier+Husky項(xiàng)目構(gòu)建

    倉庫地址 確保已經(jīng)安裝了git以及Node.js和npm,通過 git -v 、 node -v 和 npm -v 檢查是否安裝。 在新建的tsconfig.json中,修改target、module、和outDir,其中outDir設(shè)置為 ./dist ,其他根據(jù)情況設(shè)置。 根據(jù)情況選擇配置: 首先,安裝 Prettier,在項(xiàng)目目錄中,運(yùn)行 創(chuàng)建一個(gè) .prettierrc 文件來

    2024年02月11日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包