React-Better-Admin v1.0.0 发布,一个 React + antd 的后台系统
React-Better-Admin 是一个基于 React 18、TypeScript、Ant Design v5.x 、React Router v6.x、Vite4、Redux、Redux Toolkit、RTK Query 开发的后台 UI 系统。
React-Better-Admin 特点
- 1、基于 TypeScript 🔥🔥🔥
- 2、基于最新的 React 18 🔥🔥🔥
- 3、基于最流行的设计风格 Ant Design v5.x 🔥🔥
- 4、基于 React Router v6.x 做路由管理,支持懒加载 🔥🔥
- 5、基于 Vite4 做项目编译打包工具 🔥🔥
- 6、基于 Redux、Redux Toolkit 做状态管理 🔥🔥
- 7、基于 RTK Query 请求管理 👍
- 8、完善的 国际化 配置支持 👍
- 9、完善的 登录认证 配置支持 👍
- 10、完善的 权限管理 + 动态菜单 配置支持 👍
- 11、完善的 Mock 数据支持
- 12、友好的代码风格和注释...
- 13、基于 MIT 开源协议,放心商用,永久免费 👍👍👍
- 14、更多小惊喜...
当前规划和进度
- ✅ 登录认证于退出
- ✅ 权限管理,当前用户的权限来源于服务器的配置
- ✅ 权限管理,自定是否拥有权限的 hook
- ✅ 统一的路由和菜单配置
- ✅ 中英文多语言切换 【 功能已完成,但某些按钮和地方未配置】
- ✅ RTK Query 请求拦截,所有请求自动添加 JWT 内容.
- ✅ 高阶组件:DictSelect (能够根据服务器数据字典自动设置下拉数据)
- 高阶组件:CrudPage(通过配置自动生成 增删改查 的组件)
为什么不用 Ant Design Pro
Ant Design Pro 是 Ant Design 官方推出的非常优秀的、开箱即用的、中台前端解决方案,而 React-Better-Admin 也是向 Ant Design Pro 学习,对标 Ant Design Pro,打造 "另一套" 优秀的、开箱即用的、中台前端解决方案。
为什么不直接用 Ant Design Pro ,而全新开发 React-Better-Admin 呢? 我们团队主要认为有以下几个原因:
1、Ant Design Pro 是基于阿里自己的 Umi 进行开发的,我们团队不熟悉 Umi ,并且 Umi 并不像 Redux、Vite4、React Router 那么流行(不给出数据了)。
2、Umi 自己包含了代码构建、测试、路由、状态管理等能力,它既是一个打包工具、也是一个运行时依赖框架,从用户需求角度来讲: Umi = Vite4 + React Router + Redux + RTK Query (或者 Axios 等)。但是,在 React 的生态中,我们除了使用 React 来构建 web 产品以外,还可能通过 React-Native 来构建 app 应用,在这方面: React Router、Redux 都是支持非常友好,而 Umi 视乎没有太多案例。
3、我们(包括用户)基于 React-Better-Admin 开发出的商业产品进行销售的时候,客户公司的 ”技术架构师“ 往往有很重话语权,而纵观整个互联网,使用 "React Router + Redux" 的架构师,好像要比 Umi 多一些。
但无论如何,Ant Design Pro 非常优秀,我们努力向它靠齐。
开始使用
Clone
git clone https://gitee.com/better-admin/react-better-admin.git
Install
cd react-better-admin npm install
Run
vite
Build
# 开发环境 npm run build:dev # 测试环境 npm run build:test # 生产环境 npm run build:pro
目录结构
. ├── docs # 文档内容 ├── mock │ └── api.mock.ts # 开发环境的 Mock 数据定义 ├── public # 静态资源文件目录 ├── src │ ├── apis # API 定义目录 │ ├── assets # 资源文件 │ ├── components # 通用组件定义 │ ├── context # React Context │ ├── hooks # React 自定义 Hook │ ├── layout # 布局文件以及布局涉及的组件 │ ├── locales # 国际化语言定义 │ ├── pages # 页面文件夹 │ ├── routers # 路由和菜单的定义 │ ├── store # redux store 定义 │ ├── App.tsx # React 运行入口文件 │ ├── main.tsx # 入口文件 │ └── vite-env.d.ts # Vite 声明文件 ├── index.html # 应用运行入口文件 ├── LICENSE # 授权文件(MIT) ├── package-lock.json # 依赖包版本锁定文件 ├── package.json # NPM 管理 ├── readme.md ├── tsconfig.json # TypeScript 配置文件 ├── tsconfig.node.json ├── vite.config.ts # Vite 配置文件
常见问题
问题1:新建的页面显示没有权限?
答:原因是整个系统添加了权限管理,用户只能访问有权限的页面,新添加的页面没有给当前用户分配权限,需要在
mock/api.mock.ts
文件中的/api/account/permissions
里,添加新创建的页面对应的 URL(路由)地址。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Mybatis-Flex v1.0.4 及其 全新官网 发布
Mybatis-Flex 是一个优雅的 Mybatis 增强框架,它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用 Mybaits-Flex 链接任何数据库,其内置的 QueryWrapper 帮助我们极大的减少了 SQL 编写的工作的同时,减少出错的可能性。 总而言之,Mybatis-Flex 能够极大地提高了我们的开发效率和开发体验,让我们有更多的时间专注于自己的事情。 Mybatis-flex v1.0.4 主要更新如下: 新增:@ColumnMask() 注解用于数据脱敏,内置 9 中脱敏方式 新增:BaseMapper.selectAll() 方法 新增:BaseMapper.selectListByMap(Map whereConditions, int count) 方法 新增:添加 resource 配置,使得生成的代码自动集成到 classpath 中。 感谢 @piggsoft 新增:mybatis-flex-codegen 模块,用于 数据库-> Java 的代码生成 新增:@Table() 注解添加 OnInsert 和 OnUpdate 的配置...
- 下一篇
apijson-router 1.5.1 发布,腾讯 APIJSON 的路由插件•可控暴露接口到公网
apijson-router1.5.0-1.5.1 更新内容 升级 APIJSON, apijson-framework, 自身 版本分别至 6.0.0, 6.0.1, 1.5.1; 具体见Release 发布版本。 apijson-router 腾讯APIJSON5.1.0+ 的路由插件,可控地对公网暴露类 RESTful 简单接口,内部转成 APIJSON 格式请求来执行。 适合在公司外的公网可控地暴露 HTTP 接口,以及方便接入 ZooKeeper, Zuul, Apollo, Nacos, SpringSecurity, Shiro, Sentinel, Hystrix 等各种使用 URL 路由的 配置、鉴权、监控、限流、熔断 等网关/框架/组件。 使用 APIAuto 简单 3 步发布类 RESTful 简单接口: 然后 重启服务 或 调接口 /reload 热重载配置,就可以发起请求了,线上正式生产环境只暴露简单接口: https://gitee.com/APIJSON/apijson-router 创作不易,右上角点 ⭐Star 支持下吧 ^_^
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 2048小游戏-低调大师作品
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,CentOS7官方镜像安装Oracle11G