react+antd搭建后台管理系统
前言
该示例是react+antd搭建前端管理框架(支持响应式),主要模块分为:菜单、选项卡、面包屑;通过路由监听,实现三个模块之间的联动(同时监听浏览器);状态采用react-redux进行集中管理。 目前只包含前端代码,未与后台进行关联实现菜单、用户等权限,若需要,则需进行二次开发。
一、效果图
react后台管理系统
react后台管理系统二、框架内容
1.技术栈
- react - antd - react-redux - react-router - echarts - axios - pubsub-js - ......
2.项目目录
-
src api:接口路径 assets:资源文件(css、img等) axios:http请求 components:公共组件 pages:存放路由组件 reduct:状态管理 router:路由 utils:工具类 views:视图组件(存放框架主体组件) App.js:App组件 index.js:入口文件 setting.js:配置文件 setupProxy:配置跨域代理 config-overrides.js:可配置一些webpack配置,此处可进行配置antd的主题颜色
3.setting.js(全局配置文件)
统一进行管理,其中对菜单、选项卡、面包屑等进行可配置。
module.exports = { /** * @description 基础url */ BASE_URL_API: process.env.NODE_ENV === production ? / : /api/, // 跨域代理 /** * @description token在Cookie中存储的天数,默认1天 */ CookieExpires: 1, /** * @description token key */ TokenKey: TOKEN, /** * @description token key */ UserKey: USER, /** * @description 请求超时时间,毫秒(默认1小时) */ timeout: 1000*60*60, /** * 是否显示菜单 */ ShowMenu: true, /** * 是否显示面包屑 */ ShowBreAdcrumb: true, /** * 是否显示选项卡 */ ShowTabs: true, /** * 是否显示折叠按钮 */ ShowFold: true, }
4.跨域代理
跨域代理需要导入插件进行使用:http-proxy-middleware
// 安装 npm install http-proxy-middleware const { createProxyMiddleware} = require(http-proxy-middleware); module.exports = function(app) { app.use( /api, createProxyMiddleware({ target: "http://192.168.1.50:8080", changeOrigin: true, pathRewrite: { ^/api: , } } )); };
5.路由react-router
通过json数组注册路由
6.状态管理 react-redux
// 引入createStore 创建redux最为核心的store对象 import { createStore, applyMiddleware} from redux; // 引入所有reducers import reducer from ./reducers; // 引入redux-thunk 用于支持异步 import thunk from redux-thunk // 引入redux-devtools-extension 用于redux开发者工具 import { composeWithDevTools} from redux-devtools-extension // 本地存储 import storage from redux-persist/lib/storage; import { persistStore, persistReducer} from redux-persist; const persistConfig = { key: healthRoot, storage: storage }; const _reducers = persistReducer(persistConfig, reducer) const store = createStore(_reducers, composeWithDevTools(applyMiddleware(thunk))) export const persistor = persistStore(store) export default store
下载地址
地址: gitee地址:
总结
以上是对框架的简单介绍,欢迎小伙伴留言,大家一起学习进步。
下一篇:
vue3入门基础 以及与vue2的区别