使用ant design pro搭建项目
脚手架搭建
git clone --depth=1 https://github.com/ant-design/ant-design-pro.git my-project
然后 cd my-project 项目的目录结构:
config umi配置,包含路由,构建等配置
mock 本地模拟数据
public
favicon Favicon
src
assets 本地静态资源
components 业务通用组件
e2e 集成测试用例
layouts 通用布局
models 全局 dva model
pages 业务页面入口和常用模板
services 后台接口服务
utils 工具库
locales 国际化资源
global.less 全局样式
global.js 全局JS
tests 测试工具
README.md
package.json 编辑样式文件直接采用css module
css的规则都是全局作用域;而css modules通过使用一个独一无二的clsss的名字,所以不会与其他选择器重名,从而产生局部作用域;;;
CSS Modules 提供各种插件,支持不同的构建工具
composes关键词 实现类似继承extend的效果 甚至可以跨文件进行继承
.serif-font {
font-family: Georgia, serif;
}
.display {
composes: serif-font;
font-size: 30px;
line-height: 35px;
} 如果需要,也可以在样式文件的头部引入antd样式变量文件
编辑样式文件,在样式文件的头部引入antd样式变量文件
@import "~antd/lib/style/themes/default.less";
eg:使用less进行样式编辑
在index.less文件中编写样式,
在该文件第一行引入@import "~antd/lib/style/themes/default.less";
编写样式 .top{ height: 20px; }
在对应的js文件中引入 import styles from './index.less'
<div className={styles.top}>就可以了
编辑样式文件,在样式文件的头部引入antd样式变量文件
@import "~antd/lib/style/themes/default.less";
eg:使用less进行样式编辑
在index.less文件中编写样式,
在该文件第一行引入@import "~antd/lib/style/themes/default.less";
编写样式 .top{ height: 20px; }
在对应的js文件中引入 import styles from './index.less'
<div className={styles.top}>就可以了 使用:global设置全局样式 样式文件类别:
全局样式文件 src/index.less 进行一些通用设置
src/utils/utils.less 防止一些工具函数供调用,比如清除浮动 .clearfix
模块样式 针对某个模块、页面生效的文件
通用模块级
页面级
组件级
还有内联样式 style={{...}}来设置
覆盖样式文件 覆盖是全局性的,所以为了防止对其他的组件产生影响,需要包裹额外的className限制样式的生效范围
<Select
mode="multiple"
style={{ width: 300 }}
placeholder="Please select"
className={styles.customSelect}
>
{children}
</Select>
对应样式
.customeSelect { 额外的className
:global { 全局样式,进行覆盖
.ant-select-selection { 被覆盖的类名
max-height: 51px;
overflow: auto;
}
}
} Ant Design Pro抽离了使用过程中的通用布局,都放在layouts目录,分别为:
BasicLayout: 基础页面布局,包含了头部导航,侧边栏和通知栏
UserLayout:抽离出用于登陆注册页面的通用布局
BlankLayout: 空白的布局
布局通常是和路由紧密结合的,Ant Design Pro的路由采用umi的路由方案(umi不仅仅是前端构建工具,还包含了路由以及一套插件机制用于构建一个完整的React应用。)
在config/router.config.js文件中进行路由配置
进行Pro扩展配置,即扩展一些关于pro全局菜单的配置
{
name: 'dashboard',
icon: 'dashboard',
hideInMenu:true,
hideChildrenInMenu:true,
hideInBreadcrumb:true,
authority:['admin'],
name:当前路由在菜单和面包屑中的名称,注意这里是国际化配置的key,具体展示菜单名可以在/src/locales/zh-CN.js进行配置
} Ant Design的两套布局组件工具 Layout和 Grid .
Grid组件
栅格布局:按照一定比例划分页面,能够随着屏幕的变化依旧保持原比例
栅格布局包含:
container:包裹整个栅格系统的容器
rows:行
columns:列
gutters:各列之间的空隙
对于container,容器的宽度我们通常设置为100%,也可以为更大的显示器设置最大宽度max-width
.grid-container{ width:100% ; max-width:1200px ;}
对于row,行元素用于防止里面的列(column)溢出到其他的行。通常使用clearfix来清除浮动,因为我们是通过浮动来制作栅格系统的
.row:before,
.row:after { content: ""; display: table ; clear:both }
对于column,列元素是栅格系统的核心,常使用float 就是在row里定义多个column(列)
box-sizing:border-box; 设置成怪异盒模型
content-box; 设置成标准盒模型 Layout布局:协助进行页面级整体布局
构建和发布
项目开发完毕 打包应用 npm run build
由于Ant Design Pro使用的工具Umi已经将复杂的流程封装完毕,构建打包文件只需要umi build这一个命令,构建打包成功之后,
会在根目录生成dist文件夹,里面就是构建打包好的文件,通常是.js .css index.html等静态文件
如果需要自定义构建,可以在config/config.js配置(umi配置https://umijs.org/zh/guide/config.html) 分析构建文件体积(如果你的构建文件很大)
npm run analyze 构建并分析依赖模块的体积分布,从而优化代码(该命令会自动在浏览器打开显示体积分布数据的网页) 发布
只需要将最终生成的静态文件,dist文件夹的静态文件发布到你的cdn或者静态服务器即可,其中的index.html通常是你后台服务的入口文件,
在确定了js和css的静态之后可能需要改变页面的引入路径
使用ant design pro搭建项目的更多相关文章
- Docker - 部署 Ant Design Pro 的项目
解读 Ant Design Pro 的 Docker 配置 package.json 的 scripts -f: 使用什么配置文件 -t: 标签 up: 启动服务(的容器) build: 构建或重新构 ...
- ant design pro(一)安装、目录结构、项目加载启动【原始、以及idea开发】
一.概述 1.1.脚手架概念 编程领域中的“脚手架(Scaffolding)”指的是能够快速搭建项目“骨架”的一类工具.例如大多数的React项目都有src,public,webpack配置文件等等, ...
- Ant Design Pro项目打开页设为登录或者其他页面
Ant Design Pro项目打开页设为登录或者其他页面 一.打开页设为登录页 首先找到utils包中的authority文件,在该文件中找到如下代码: export function getAut ...
- (二)React Ant Design Pro + .Net5 WebApi:前端环境搭建
首先,你需要先装一个Nodejs,这是基础哦.如果没有这方面知识的小伙伴可以在园子里搜索cnpm yarn等关键字,内容繁多,此不赘述,参考链接 一. 简介 1. Ant Design Pro v5 ...
- 阿里开源项目之Ant Design Pro
本篇文章主要包含的内容有三个方面. 第一.Ant Design Pro简介; 第二.Ant Design Pro能做什么; 第三.初步使用; 我相信通过这三个方面的讲解能让你大概知道Ant Desig ...
- 【后台管理系统】—— Ant Design Pro入门学习&项目实践笔记(三)
前言:前一篇记录了[后台管理系统]目前进展开发中遇到的一些应用点,这一篇会梳理一些自己学习Ant Design Pro源码的功能点.附:Ant Design Pro 在线预览地址. Dashboard ...
- Ant Design Pro 脚手架+umiJS 实践总结
一.简介 1.Ant Design Pro Ant Design Pro是一款搭建中后台管理控制台的脚手架 ,基于React,dva.js,Ant Design (1)其中dva主要是控制数据流向,是 ...
- ant design pro超详细入门教程
1.Ant Design Pro 初了解 说到ant design pro,得先了解一下ant design是个什么东西?ant design蚂蚁金服基于react打造的一个服务于企业级产品的UI框架 ...
- ant design pro 当中改变ant design 组件的样式和 数据管理
ant design pro 简介 官网简介 链接 https://pro.ant.design/docs/getting-started-cn 项目结构 https://github.com/ant ...
随机推荐
- 用 Python 理解 Web 并发模型
用 Python 理解 Web 并发模型 http://www.jianshu.com/users/1b1fde012122/latest_articles 来源:MountainKing 链接: ...
- Object对象具体解释(一)之toString
Object作为Java中超然的存在.当中定义了一切对象都共同拥有的方法. 特点: 1. java.lang包在使用的时候无需显示导入.编译时由编译器自己主动导入. 2. Object类是类层次结构的 ...
- 《简明 Python 教程》笔记
基础 字符串:python 中字符串可以用单引号.双引号和三个引号括起来,其中三个引号可以用来指定多行的字符串. print('hello'* 3) 连续打印 3 个 hello 格式化:print ...
- Linux内核中网络数据包的接收-第二部分 select/poll/epoll
和前面文章的第一部分一样,这些文字是为了帮别人或者自己理清思路的.而不是所谓的源代码分析.想分析源代码的,还是直接debug源代码最好,看不论什么文档以及书都是下策. 因此这类帮人理清思路的文章尽可能 ...
- POJ 3281(Dining-网络流拆点)[Template:网络流dinic]
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbmlrZTBnb29k/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...
- CentOS 7 安装Nginx做反向代理
题记 须要使用nginx的反向代理功能,測试环境为centos+NGINX 1.8.0. 跳过一些繁琐的问题,直接记录核心 步骤 (1)centos 安装在VM中.因此须要注意网络连接问题 (2)安装 ...
- 项目PMO工作
算起来.这是第一次以项目PMO人员的身份參与项目,尽管非常可惜没有从头參与,也没有參与到项目结束,仅仅有短短的两个月.但对项目PMO也可略窥一斑.如今就当个流水账写一写吧. 进项目组的时候,是中 ...
- 《编程导论(Java)·1.4.1 范式》
这个楼主,是我的学生么?2013年写的! 嗯."编程范式或许是学习不论什么一门编程语言时要理解的最重要的术语".这句话早在2005年出版<Java程序设计>(宋中山,严 ...
- contest hunter 6803 导弹防御塔
没什么好写的.写写这题吧 拆点,把一个防御塔拆成m个,表示第i次攻击.瞎yy就好啊 #include<cstdio> #include<iostream> #include&l ...
- log4net写日志的时间附带时区信息
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss.fffzzz} [%thread] %-5level %logger - %me ...