React18入门(第二篇)——React18+Ts项目配置husky、eslint、pretttier、commitLint

本文主要是介绍React18入门(第二篇)——React18+Ts项目配置husky、eslint、pretttier、commitLint,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

我的项目版本如下:

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

本文将采用图文详解的方式,手把手带你快速完成在React项目中配置husky、prettier、commitLint,实现编码规范的统一,git提交规范的统一。


文章目录

  • 前言
  • 一、使用 eslint
      • 1.1 装包
      • 1.2 ESLint 插件安装
      • 1.3 创建命令并使用
  • 二、使用 prettier
      • 2.1 装包
      • 2.2 创建配置文件
      • 2.3 安装插件
      • 2.3 创建命令并使用
      • 2.4 vscode 配置
      • 2.5 代码风格配置
      • 2.6 重启 vscode
  • 三、将代码提交到 git 仓库
  • 四、使用 husky
      • 4.1 简介
      • 4.2 安装
      • 4.3 编辑package.json >准备脚本并运行一次
      • 4.4 增加钩子函数
  • 五、使用 commitlint
      • 5.1 安装
      • 5.2 配置
      • 5.3 安装 husky
      • 5.4 增加 hook
      • 5.5 测试一下
      • 5.6 正确且优雅的提及
      • 5.7 提交格式
      • 5.8 查看合法的提交前缀
  • 六、授人以渔
      • 6.1 以上步骤如何来的?
      • 6.2 以 husky 为例
  • 七、创作不易,点赞收藏不迷路

一、使用 eslint

1.1 装包

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

1.2 ESLint 插件安装

在这里插入图片描述


1.3 创建命令并使用

新增命令

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

在这里插入图片描述
执行 npm run lint :
在这里插入图片描述

二、使用 prettier

2.1 装包

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

在这里插入图片描述

2.2 创建配置文件

在根目录中创建 .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 版本,可以是具体版本号或 "detect" 自动检测},},"rules": {}
}

2.3 安装插件

Prettier - Code formatter

在这里插入图片描述
安装成功后:
在这里插入图片描述

2.3 创建命令并使用

新增命令:表示扫描文件格式,并将文件中的代码修改为正确的格式

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

在这里插入图片描述
运行命令:
在这里插入图片描述
在这里插入图片描述

2.4 vscode 配置

配置成功后,之前讲的通过 npm run format 可以将双引号格式化为 单引号,现在仅需使用 ctrl + s 保存文件,vscode 即可自行格式化

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

在这里插入图片描述

2.5 代码风格配置

根目录下新建 .prettierrc.js 文件,并写入如下代码:

module.exports = {	// 箭头函数只有一个参数的时候可以忽略括号arrowParens: 'avoid',// 括号内部不要出现空格bracketSpacing: true,// 行结束符endOfLine: 'auto',// 行宽printWidth: 100,// 换行方式proseWrap: 'preserve',// 分号semi: false,// 使用单引号singleQuote: true,// 缩进tabWidth: 2,// 使用tab缩进useTabs: false,// 后置逗号,多行对象、数组在最后一行增加逗号trailingComma: 'es5',parser: 'typescript',
}

2.6 重启 vscode

重启 vscode 后,我们在 .prettierrc.js 文件中配置的代码风格才会生效


三、将代码提交到 git 仓库

如何使用 vscode 将代码推送至 git 仓库👉:http://t.csdnimg.cn/t7YT9


四、使用 husky

4.1 简介

  • 一个 git hook 工具
  • 在 git commit 之前执行自定义的命令
  • 如执行代码风格的检查,避免提交非规范代码

最终实现的是,即使多人协同开发项目,最终提交到远程仓库中的,也是符合规范的、风格统一的代码。

4.2 安装

npm install husky -D

4.3 编辑package.json >准备脚本并运行一次

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

4.4 增加钩子函数

// 表示 git commit 之前执行 npm run lint 
npx husky add .husky/pre-commit "npm run lint"
// 表示 git commit 之前执行 npm run format 
npx husky add .husky/pre-commit "npm run format"
// 表示 git commit 之前执行 npm run git add .
npx husky add .husky/pre-commit "git add ."

在这里插入图片描述
简单测试一下:
在这里插入图片描述


五、使用 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 的不用重复安装
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 测试一下

随便写一个提交描述,将无法成功提交
在这里插入图片描述

5.6 正确且优雅的提及

参考 git 上的开源项目 vue-pure-admin
在这里插入图片描述


参考大家熟知的 vue.js :
在这里插入图片描述

5.7 提交格式

前缀 + 冒号 + 一个空格 + 本次提交描述

5.8 查看合法的提交前缀

在这里插入图片描述
在这里插入图片描述


六、授人以渔

6.1 以上步骤如何来的?

或许屏幕前的你,会好奇,为啥我就知道是这些命令,然后这样配置就能成功,其实这些步骤,在 github 上都有写, 而且比你在网上找的博客帖子更加准确。

6.2 以 husky 为例

在这里插入图片描述
在这里插入图片描述


七、创作不易,点赞收藏不迷路

这篇关于React18入门(第二篇)——React18+Ts项目配置husky、eslint、pretttier、commitLint的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1370

相关文章

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

怎么用idea创建一个SpringBoot项目

《怎么用idea创建一个SpringBoot项目》本文介绍了在IDEA中创建SpringBoot项目的步骤,包括环境准备(JDK1.8+、Maven3.2.5+)、使用SpringInitializr... 目录如何在idea中创建一个SpringBoot项目环境准备1.1打开IDEA,点击New新建一个项