个人开发学习react web后台管理系统项目,持续开发中,可以相互学习探讨。
猪猪管家
一、介绍 📖
🚀🚀🚀 猪猪管家, 基于 React18.2.0、webpack5.0.1、react-router-dom6.6.2、TypeScript、Ant-Design 开源的一套后台管理框架。recoil 作为状态管理,axios 作为网络请求,开箱即用,支持配置多种菜单模式,路由权限配置。
二、Git 仓库地址 (欢迎 Star⭐)
三、🔨🔨🔨 项目功能
- 🚀 采用最新技术找开发:React18、React-Router v6、React-Hooks、TypeScript、Webpack5
- 🚀 采用 Webpack 作为项目开发、打包工具(配置了 Gzip 打包、打包预览工具……)
- 🚀 整个项目集成了 TypeScript 🤣
- 🚀 使用 recoil 做状态管理,集成 redux-persist 开发
- 🚀 使用 TypeScript 对 Axios 整个二次封装 (全局错误拦截、常用请求封装、取消重复请求……)
- 🚀 支持 暗黑 && 亮色切换,mix、side、top 菜单模式、不同主题色切换
- 🚀 使用 自定义高阶组件 进行路由权限拦截(403 页面)
- 🚀 支持 React-Router v6 路由懒加载配置、菜单手风琴模式、无限级菜单、多标签页、面包屑导航
- 🚀 使用 Prettier 统一格式化代码,集成 Eslint、Stylelint 代码校验规范(项目规范配置)
- 🚀 使用 husky、lint-staged、commitlint、commitizen、cz-git 规范提交信息(项目规范配置)
四、安装使用步骤 📑
- Clone:
# GitHub
git clone https://github.com/bigTig/react-webpack-ts.git
- Install:
yarn
- Run:
yarn start
# 开发环境
yarn build:dev
# 测试环境
yarn build:pre
# 生产环境
yarn build:prod
# 代码分析
yarn build:analy
- Lint:
# eslint 检测代码
yarn lint:eslint
# prettier 格式化代码
yarn lint:prettier
# stylelint 格式化样式
yarn lint:less
- commit:
# 提交代码(会自动执行 lint:lint-staged 命令)
git commit
五、文件资源目录 📚
react-webpack-ts
├─ .husky # 添加git hooks
├─ .vscode # vscode推荐配置
├─ public # 静态资源文件(忽略打包)
├─ src
│ ├─ api # API 接口管理
│ ├─ assets # 静态资源文件
│ ├─ components # 全局组件
│ ├─ config # 全局配置项
│ ├─ core # 核心库
│ ├─ hooks # 常用 Hooks
│ ├─ layouts # 框架布局
│ ├─ routers # 路由管理
│ ├─ store # redux store
│ ├─ styles # 全局样式
│ ├─ typings # 全局 ts 声明
│ ├─ utils # 工具库
│ ├─ pages # 项目所有页面
│ ├─ app.less # 全局样式处理
│ ├─ App.tsx # 入口页面
│ └─ index.tsx # 入口文件
├─ .browserslistrc # 浏览器兼容列表
├─ .cz-config.js # cz-git 规范提交信息
├─ .editorconfig # 编辑器配置(格式化)
├─ .eslintignore # 忽略 Eslint 校验
├─ .eslintrc.js # Eslint 校验配置
├─ .gitignore # git 提交忽略
├─ .prettierignore # 忽略 prettier 格式化
├─ .prettierrc.js # prettier 配置
├─ .stylelintignore # 忽略 stylelint 格式化
├─ .stylelintrc.js # stylelint 样式格式化配置
├─ babel.config.js # babel 转换配置
├─ commitlint.config.js # git 提交规范配置
├─ LICENSE # 开源协议文件
├─ package-lock.json # 依赖包包版本锁
├─ package.json # 依赖包管理
├─ postcss.config.js # postcss 配置
├─ README.md # README 介绍
├─ tsconfig.json # typescript 全局配置
六、浏览器支持
默认支持以下浏览器。更多浏览器可以查看 Can I Use Es Module > 💢 请不要使用 QQ 浏览器开发,QQ 浏览器 不识别 某些 ES6 以上语法
七、捐赠 🍵
如果你正在使用这个项目或者喜欢这个项目的,可以通过以下方式支持我
- Star、Fork、Watch 一键三连 🚀🚀