react-admin
react-admin copied to clipboard
React、Typescript、Vite、Antd等技术开发中后台项目解决方案,支持keepalive功能,react-redux状态管理,UnoCSS,动态菜单,国际化i18n,虚拟滚动表格。
React Admin
✨ 简介
使用React18,Typescript,Vite,Antd5.0等主流技术开发的开箱即用的中后台前端项目,Vite实现自动生成路由,支持KeepAlive功能,zustand状态管理,支持虚拟滚动表格,UnoCss开发样式。
🚀 项目演示


![]() |
![]() |
|---|
💻 安装使用
- 获取项目代码
git clone https://github.com/southliu/react-admin.git
- 选择目录
cd react-admin
- 安装全局依赖依赖,存在则不用安装
npm i -g pnpm
- 安装依赖
pnpm install -w
如果使用pnpm安装依赖出现安装失败问题,请使用梯子、yarn安装或切换淘宝源。
pnpm config set registry https://registry.npmmirror.com
- 运行
pnpm dev
- 打包
pnpm build
🧩 图标(iconify)
- 参考 iconify官方地址
- VS Code安装Iconify IntelliSense - 图标内联显示和自动补全
🎗️ Git 提交示例
Git提交不规范会导致无法提交,feat关键字可以按照下面Git 贡献提交规范来替换。
git add .
git commit -m "feat: 新增功能"
git push
按照以上规范依旧无法提交代码,请在终端执行npx husky install之后重新提交。
🎯 Git 贡献提交规范
-
参考 vue 规范
feat增加新功能fix修复问题/BUGstyle代码风格相关无影响运行结果的perf优化/性能提升refactor重构revert撤销修改test测试相关docs文档/注释chore依赖更新/脚手架配置修改等workflow工作流改进ci持续集成types类型定义文件更改wip开发中
🐵 关于封装
- 功能扩展,在原有的api上拓展。
- 功能整合,合并两个或两个以上组件的api。
- 样式统一,避免后期样式变动,导致牵一发而动全身。
- 公共组件二次封装或常用组件使用Base开头,便于区分。
📕 Q&A常见问题
1. 页面权限如何配置?
- 通过登录接(/login/v2)或重新授权接口(/authority/user/refresh-permissions/v2)获取permissions权限数据。
- 通过菜单接口(/menu/list/v3)获取data中的rule权限数据,这个rule数据影响菜单显示,如果没返回rule则一直都显示。
- 页面内权限参考src/pages/system/menu.index.tsx文件内的pagePermission数据,pagePermission.page是显示页面的权限,根据第一点返回的permissions进行匹配。
2. 路由如何配置?
路由根据文件夹路径自动生成,路径包含以下文件名或文件夹名称则不生成:
- components
- utils
- lib
- hooks
- model.tsx
- 404.tsx
可自行在 src/router/utils/config.ts 修改路由生成规则。
3. 菜单如何配置?
提供了两种方式配置菜单:
- 动态菜单,通过菜单接口(/menu/list/v3)获取菜单数据。
- 静态菜单,需要静态菜单将/src/hooks/useCommonStore.ts中的useCommonStore中的menuList改为defaultMenus。
// src/hooks/useCommonStore.ts
import { defaultMenus } from '@/menus';
// const menuList = useMenuStore(state => state.menuList);
// 菜单数据
const menuList = defaultMenus;
4. @south/xxx依赖在哪查看?
通过根目录packages文件中查看对于xxx文件的源码进行修改。
5. 安装新依赖时报错?
使用了monorepo项目安装新依赖时需要在后面添加-w或--workspace,否则会报错,比如:pnpm i mobx -w。
🧡 捐赠
如果您觉得这个项目对您有帮助,您可以帮作者买一杯咖啡表示支持!
| 微信 | 支付宝 |
|---|---|
![]() |
![]() |



