React+Vite+Typescript项目脚手架模版

React + TypeScript + Vite

React + TypeScript + Vite + React Router + React Redux项目脚手架模版。GitHub:react-vite-ts-template

  • 很好的集成了Code Lint周边工具,支持对TS,CSS,LESS等文件的自动格式化。
  • 支持PC 和 H5
  • 规范化的目录结构

建议项目的前端相关文档,比如架构设计文档,模块设计文档统一收敛到docs目录下。或者如果是外部文档链接,也可以贴到docs目录里面

一、环境

  • node: >=20.0.0

二、运行

  • npm install
  • npm run dev

三、Code Lint配置及介绍

在开始介绍Code Lint配置前,需要准备以下工作:

需要在vscode安装以下插件:

  • eslint
  • prettier
  • editorconfig
  • Stylelint

下图是Code Lint必备插件:

code lint相关工具及其作用

  • eslint。负责规范并校验js代码的编写,本身不具备自动格式化功能
  • commit lint。负责校验commit msg是否符合规范
  • stylint。负责规范并校验css/scss/less 代码的编写。
  • prettier。保存代码自动格式化
  • editor config。确保大家编辑器的风格统一,比如空格啥的。确保编辑器安装了editorconfig插件,比如vscode需要安装EditorConfig
  • lint stage
  • husky

3.1 vscode 配置

vscode基础配置,比如保存代码自动格式化等基础配置,均需要在./vscode/settings.json文件修改,同时这份文件需要提交上去,确保团队基础配置统一。

3.2 eslint + prettier

需要确保vscode安装了eslint和prettier插件。

eslint负责规范并校验js代码的编写,本身不具备自动格式化功能。ctrl+s保存代码时,prettier会自动格式化代码,比如下图,eslint提示import语句的顺序不对,同时提示useEffect,useState没有使用到。当ctrl + s保存代码时,prettier会自动格式化这些代码。

如果项目使用的ESLint可能会出现与 Prettier 的格式化规则冲突的情况。为了避免这种情况,可以使用 eslint-config-prettier 来禁用所有与 Prettier 冲突的 ESLint 规则

3.3 stylelint + prettier

需要确保vscode安装了Stylelint和prettier插件。

stylelint负责规范并校验css/scss/less 代码的编写,本身不具备自动格式化的功能呢。ctrl + s保存代码时,prettier会自动格式化代码,比如下图,stylelint提示height的位置不对,因此保存代码时,prettier会自动调整这些规则的顺序。

3.4 editorconfig

需要确保vscode安装了editorconfig for vscode插件,并在根目录下创建.editorconfig文件。

主要作用:

  • 确保团队成员在不同的编辑器中使用相同的缩进、换行符、字符编码等规则。
  • 避免因代码风格不一致导致的冲突或混乱

比如indent_size指定缩进的大小(2个空格或者4个空格)

比如下面是indent_size指定为2时,按tab键的空格数

比如下面是indent_size指定为4时,按tab键的空格数

3.5 lintstaged + husky

lint-staged 是一个工具,它允许你在 Git 提交前对暂存区(即通过 git add 的文件)运行预定义的代码检查任务,如 ESLint、Prettier 等。它的核心功能是只对暂存区的文件进行检查,避免对未修改的文件进行不必要的检查

为什么使用 lint-staged:

  • 高效的代码检查:只对暂存区的文件进行检查,避免了全量检查,提高了效率。
  • 提高代码质量:在提交前自动检查代码,减少低质量代码被提交的概率。
  • 集成流畅:与 husky 等工具结合,能够自动化工作流,减少手动操作

执行npm install后,默认会在项目根目录下新建.husky文件目录,需要在.husky下面新增两个文件,才能使得git commit时自动跑lint校验

  • .husky/commit-msg
  • .husky/pre-commit

如下图所示,当代码中存在错误时,代码就没法提交上去

因此,在开发的过程中,如果有eslint的告警,要及时修复,避免在提交的时候遇到麻烦。

3.6 commitlint + husky

commitlint 是一个用于校验 Git 提交消息是否符合规范的工具。它可以帮助团队维护一致的提交消息格式,从而提高项目的可维护性和协作效率

主要功能:

  • 格式检查:确保每条提交信息都遵循预定义的格式,例如使用特定的提交类型标签(如 fix、feat、docs 等)。
  • 一致性维护:通过强制执行一致的提交信息格式,减少不同开发者之间的差异。
  • 文档生成:基于提交信息生成项目变更日志,便于团队成员了解项目的历史变更。
  • 自动化测试:可以在持续集成/持续部署(CI/CD)流程中集成,确保每次提交都符合格式要求,从而提高代码质量
相关推荐
打野赵怀真12 分钟前
React Hooks 的优势和使用场景
前端·javascript
HaushoLin16 分钟前
ERR_PNPM_DLX_NO_BIN No binaries found in tailwindcss
前端·vue.js·css3·html5
Lafar17 分钟前
Widget 树和 Element 树和RenderObject树是一一 对应的吗
前端
小桥风满袖18 分钟前
炸裂,前端神级动效库合集
前端·css
匆叔19 分钟前
Tauri 桌面端开发
前端·vue.js
1_2_3_19 分钟前
react-antd-column-resize(让你的table列可以拖拽列宽)
前端
Lafar20 分钟前
Flutter和iOS混合开发
前端·面试
九龙湖兔兔20 分钟前
pnpm给插件(naiveUI)打补丁
前端·架构
知心宝贝21 分钟前
【Nest.js 通关秘籍 - 基础篇】带你轻松掌握后端开发
前端·javascript·架构