Ant Design Pro (中后台系统)教程
一、概念:https://pro.ant.design/docs/getting-started-cn(官方网站)
1、Ant Design Pro 是什么: https://www.cnblogs.com/freely/p/10874297.html
Ant Design Pro 是一套开箱即用的中台前端/设计解决方案,是一个开发 中后台 系统的 脚手架。类似 vue-cli 一样,创建项目后,各种webpack配置、路由配置等,都已经弄好,直接开发就可以了。
2、Ant Design Pro 相关的技术栈: react+redux+dva+antd+fetch+roadhog
主要还是dva比较难理解,fetch 就 另外一种 ajax
二、安装: 两种安装方法
扩展介绍:官网教程中 安装用到了 npm create umi 命令。 npm create 命令是什么呢,create 是 install 的别名。 https://zhuanlan.zhihu.com/p/77454212
但是经过实践,个人感觉是调用 npx install umi,然后在调用git命令。
方法一:按照官网的步骤:
npm create umi //
cd create // 安装时,直接创建create 项目目录
npm install // 安装依赖
npm start // 启动应用
方法二: npm create umi 的本质,还是调用 git 命令到git仓库上下载代码。调用npm create umi命令后, 自动调用 git clone https://github.com/ant-design/ant-design-pro --depth=1 这个git命令 。
所以我们可以直接调用git命令,而不用安装 umi。 git clone https://github.com/ant-design/ant-design-pro --depth=1 是 JavaScript模式下的仓库,typescript模式下的仓库个人不用就不去介绍了。
$ git clone --depth= https://github.com/ant-design/ant-design-pro.git my-project
$ cd my-project
经过实践发现:还是方案一 更好,会把一些没用的文件,清理掉的;方案二 会多一些没用的文件出来
三、部署和构建
1、环境变量:https://pro.ant.design/docs/environment-variables-cn
环境变量是 ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION
2、构建 和 部署: 阅读 https://pro.ant.design/docs/build-cn
a。路由是 browserHistory 模式的话,服务器必须要配置。不然对应的路由,在服务器是找不到这个资源的。下面以 nginx 服务器部署为例:
location / {
root E:\代码仓库\create\dist;
index index.html; # 用于配合 browserHistory使用
try_files $uri $uri/ /index.html;
}
四、区块 开发 (重点) https://pro.ant.design/docs/block-cn
1、使用 模板 可以 自动创建 路由页面 并且配置路由。(模板代表一个页面) 如下图,可以自定义,创建一个模板页面。
2、 使用区块开发 可以 自动添加 需要的 antD 中的组件。(区块可以类比为一个组件) 如下图,将需要的 组件,添加到页面中,指定的位置上。
五、路由和菜单
1、路由管理: 通过约定的语法,在 config.ts 中配置路由。https://pro.ant.design/docs/router-and-nav-cn
a、路由菜单可以从服务器获取
2、菜单生成: 根据路由配置 会自动生成菜单。菜单项名称,嵌套路径与路由高度耦合。
3、面包屑: 组件 PageHeaderWrapper 中内置的面包屑,也可通过 RouteContext 提供的信息自定义生成。
4、路由中 几个 layouts 组件(UI组件 和 业务组件): (开发时,页面的入口就是从路由开始的)
a、SecurityLayout (功能组件):分析代码,这个 应该是判断用户是否 登入的组件。
b、 BasicLayout :基础页面布局,包含了头部导航,侧边栏和通知栏:
c、 UserLayout:抽离出用于登录注册页面的通用布局
d、 BlankLayout:这个空白 页面。这个组件没什么用。
六、布局 (路由的 UI 组件) https://pro.ant.design/docs/layout-cn/
说明:不同的页面 在路由中 可以 选择 在 需要的那种布局下。
1、BasicLayout:基础页面布局,包含了头部导航,侧边栏和通知栏:
2、UserLayout:抽离出用于登录注册页面的通用布局
3、BlankLayout:空白的布局
七、新增页面
1、pages目录下新建文件
2、将文件加入菜单和路由
3、新增 model、service:非必须,如果需要用到 dva 中的数据流,才要创建。
八、Pro 的 Layout 组件(几个组件集合): https://pro.ant.design/docs/layout-component-cn
注意,不是antD 的Layout 组件
a、ProLayout 组件:路由中 BasicLayout 组件的核心 UI组件。实现左边菜单,头部的header 布局。
b、PageHeaderWrapper :页头组件。快速实现 面包屑和标题。
c、SettingDrawer : SettingDrawer 提供了一个图形界面来设置 layout 的配置,方便在演示环境中展示 Layout 的所有能力。正式环境这个东西一般是要去掉的。
d、DefaultFooter :页尾 组件。快速实现 页尾 内容。
九、页面设置样式 https://pro.ant.design/docs/style-cn
1、基于 less 开发,具体的使用参考上面链接。
十、和服务器端交互
1、
十一、Mock 和 联调
十二、更换主题
1、主题定制:
2、在线切换主题(重点):https://pro.ant.design/docs/theme-cn#%E5%9C%A8%E7%BA%BF%E5%88%87%E6%8D%A2%E4%B8%BB%E9%A2%98
这个是 左边菜单和 页头固定的配置。 文档上的说的文件路径是错误的(可能文档没有实时更新)。正确的配置路径是 config/defaultSettings.js
十三、权限管理 https://pro.ant.design/docs/authority-management-cn
这个 文档 还是比较清晰的
实践总结:
1、 固定左边菜单和 页头固定:
修改 配置 文件 config/defaultSettings.js 就可以实现
2、创建 mock数据:
只要在 mock 目录下的文件,有对应的 接口的匹配就可以了。不需要,在某个文件中引入相应的文件。脚手架中会自动把 mock下的所有文件进行执行的。
3、配置 代理 服务器: 在 config/config.js 中配置
注意:mock 和 代理都 可以匹配的话,请求接口 会 走 mock 数据,代理的真实请求就没有想过。 关闭mock数据,或者 mock数据不能匹配对应的接口,就可以走代理请求,获取真实的数据。
4、菜单 中文配置:
配置好路由,默认的菜单名称是英文的。要设置成中文的,需要在 src\locales\zh-CN\menu 中配置。
5、头部右边的内容,通过 BasicLayout.jsx 这个布局入口文件就可以找到,这部分内容所在的文件。
import RightContent from '@/components/GlobalHeader/RightContent';
6、 antD pro 安装 的项目,有一些对我们没有用的功能。需要删除掉。
dva 教程 https://dvajs.com/guide/introduce-class.html
说明:dva 首先是一个基于 redux 和 redux-saga 的数据流方案,然后为了简化开发体验
一、Model 对象:dva整个知识体系太多,设计中主要会用就可以了。在antd pro中,modes是放在一个目录下统一管理的,导出一个 model 对象,对象的选项如下:
1、namespace:当前 Model 的名称
2、state:该 Model 当前的状态
3、reducers:Action 处理器,处理同步动作,用来算出最新的 State
4、effects:Action 处理器,处理异步动作
二、使用:
1、设置 dva 的 state:通过 dispatch 触发 修改。
dispatch({
type: 'products/delete',
payload: id,
});
2、获取修改后的数据:
dispatch({
type: 'products/delete',
payload: id,
});
Ant Design Pro (中后台系统)教程的更多相关文章
- Ant Design Pro中Transfer穿梭框的实际用法(与后端交互)
Ant Design Pro中Transfer穿梭框的实际用法(与后端交互) 该控件的属性以及属性的作用在ADP的官方文档中都有介绍,但没有讲如何与后端交互,本文旨在讲解该控件与后端的交互. Ant ...
- ant design pro超详细入门教程
1.Ant Design Pro 初了解 说到ant design pro,得先了解一下ant design是个什么东西?ant design蚂蚁金服基于react打造的一个服务于企业级产品的UI框架 ...
- 实战 ant design pro 中的坑
1.替换mock数据: 1.将:.roadhogrc.mock.js 中的代理模式替换 当不使用代理的时候就会将所有 /api/的链接换成 http://localhost:8080/ export ...
- 把antd的组件源码搬到Ant Design Pro中使用
把组件源码搬过来后,样式死活不生效,经过1天的努力,有说less-loader的,有说webpack配置,还有说babel配置的,最后,我自己找到了方法 就是在global.less中使用@impor ...
- ant design pro (八)构建和发布
一.概述 原文地址:https://pro.ant.design/docs/deploy-cn 二.详细 2.1.构建 当项目开发完毕,只需要运行一行命令就可以打包你的应用: npm run buil ...
- Ant Design Pro快速入门
在上一篇文章中,我们介绍了如何构建一个Ant Design Pro的环境. 同时讲解了如何启动服务并查看前端页面功能. 在本文中,我们将简单讲解如何在Ant Design Pro框架下实现自己的业务功 ...
- Ant Design Pro 学习笔记:数据流向
在讲这个问题之前,有一个问题应当讲一下: Ant Design Pro / umi / dva 是什么关系? 首先是 umi / dva 的关系. umi 是一个基于路由的 react 开发框架. d ...
- ant design pro (十五)advanced 使用 API 文档工具
一.概述 原文地址:https://pro.ant.design/docs/api-doc-cn 在日常开发中,往往是前后端分离的,这个时候约定好一套接口标准,前后端各自独立开发,就不会被对方的技术难 ...
- ant design pro (十一)advanced Mock 和联调
一.概述 原文地址:https://pro.ant.design/docs/mock-api-cn Mock 数据是前端开发过程中必不可少的一环,是分离前后端开发的关键链路.通过预先跟服务器端约定好的 ...
- ant design pro (七)和服务端进行交互
一.概述 原文地址:https://pro.ant.design/docs/server-cn Ant Design Pro 是一套基于 React 技术栈的单页面应用,我们提供的是前端代码和本地模拟 ...
随机推荐
- java 虚方法。 后面new 那个类, 就调用哪个类的方法 ,而非定义类的方案。 关于父子 类的 呵呵
java 虚方法. 后面new 那个类, 就调用哪个类的方法 ,而非定义类的方案. 关于父子 类的 呵呵 在多态的情况下,声明为父类类型的引用变量只能调用父类中的方法,但如果此变量 ...
- GitLab 安装,配置及维护
参考: GitLab 官方文档 docker-gitlab,通过 docker-compose 快速安装 GitLab rake,是 Rails 的工具,类似 ruby 中常用的的 make.通过 R ...
- Macaca的Python的api整理
整理了下Macaca的API,做成思维脑图,方便阅览. WebDriver 安装 pip install wd git clone https://github.com/macacajs/wd.py. ...
- MySQL-第四篇索引
1.创建索引的作用 创建索引的唯一作用就是加速对表的查询.索引通过使用快速路径访问方法来快速定位数据,从而减少了磁盘的I/O. 2.索引和表一样也是数据库中的一种对象,但它必须从属于某张表,不能独立存 ...
- 修改ps工具栏字体大小
修改ps工具栏字体大小 先改电脑分辨率或者改首选项--界面---文字,退出后,重新打开,但你会发现问题还是没解决,我们接着往下 找到文件夹安装目录下的photoshops.exe启动文件(查找方法 ...
- K3 cloud选单时候必须把必录的数据录完以后才可以选单
解决办法:在bos中把选单按钮的提交时候校验打勾
- [三下五除二]在Eclipse上的JFinal_Demo
承接上回在IDEA的JFinal的项目的导入,今次同样是同一个文件,但在Eclipse上运行.在Eclipse上运行官网的JFinal的例子是及其快捷. 打开Eclipse,并进入如下的界面. 点击导 ...
- eclipse 设置注释模板
window->preference->java->code styple->code template->Comments Types /** * @author $ ...
- zabbix3.4.8配置自动发现主机并监控
一. 自动发现功能简介 Zabbix服务器端通过网络或者主机名等方式进行客户端的扫描发现,从进行加入到监控的主机队列中,适用于批量加入多主机监控的场景. 二. 自动发现功能实施 ...
- 一、免费API调用
一.免费API调用: 免费天气api接口 JS调用示例 <!DOCTYPE html> <html lang="zh-CN"> <head> & ...