脚手架搭建
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搭建项目的更多相关文章

  1. Docker - 部署 Ant Design Pro 的项目

    解读 Ant Design Pro 的 Docker 配置 package.json 的 scripts -f: 使用什么配置文件 -t: 标签 up: 启动服务(的容器) build: 构建或重新构 ...

  2. ant design pro(一)安装、目录结构、项目加载启动【原始、以及idea开发】

    一.概述 1.1.脚手架概念 编程领域中的“脚手架(Scaffolding)”指的是能够快速搭建项目“骨架”的一类工具.例如大多数的React项目都有src,public,webpack配置文件等等, ...

  3. Ant Design Pro项目打开页设为登录或者其他页面

    Ant Design Pro项目打开页设为登录或者其他页面 一.打开页设为登录页 首先找到utils包中的authority文件,在该文件中找到如下代码: export function getAut ...

  4. (二)React Ant Design Pro + .Net5 WebApi:前端环境搭建

    首先,你需要先装一个Nodejs,这是基础哦.如果没有这方面知识的小伙伴可以在园子里搜索cnpm yarn等关键字,内容繁多,此不赘述,参考链接 一. 简介 1. Ant Design Pro v5 ...

  5. 阿里开源项目之Ant Design Pro

    本篇文章主要包含的内容有三个方面. 第一.Ant Design Pro简介; 第二.Ant Design Pro能做什么; 第三.初步使用; 我相信通过这三个方面的讲解能让你大概知道Ant Desig ...

  6. 【后台管理系统】—— Ant Design Pro入门学习&项目实践笔记(三)

    前言:前一篇记录了[后台管理系统]目前进展开发中遇到的一些应用点,这一篇会梳理一些自己学习Ant Design Pro源码的功能点.附:Ant Design Pro 在线预览地址. Dashboard ...

  7. Ant Design Pro 脚手架+umiJS 实践总结

    一.简介 1.Ant Design Pro Ant Design Pro是一款搭建中后台管理控制台的脚手架 ,基于React,dva.js,Ant Design (1)其中dva主要是控制数据流向,是 ...

  8. ant design pro超详细入门教程

    1.Ant Design Pro 初了解 说到ant design pro,得先了解一下ant design是个什么东西?ant design蚂蚁金服基于react打造的一个服务于企业级产品的UI框架 ...

  9. ant design pro 当中改变ant design 组件的样式和 数据管理

    ant design pro 简介 官网简介 链接 https://pro.ant.design/docs/getting-started-cn 项目结构 https://github.com/ant ...

随机推荐

  1. Linux查看文件内容命令:less(转)

    less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件. 语法 less [参数] 文件 参数说明: -b <缓冲 ...

  2. servlet理解

    可得到一个结论:该JSP页面中的每个字符都由test1_jsp.java文件的输出流生成. 根据上面的JSP页面工作原理图,可以得到如下四个结论: — JSP文件必须在JSP服务器内运行. — JSP ...

  3. POJ 1279

    发现好多半平面交用N^2的增量法都能过诶... #include <iostream> #include <cstdio> #include <cstring> # ...

  4. HDU 1238

    好吧,这题直接搜索就可以了,不过要按照长度最短的来搜,很容易想得到. 记得ACM比赛上有这道题,呃..不过,直接搜..呵呵了,真不敢想. #include <iostream> #incl ...

  5. 9517 Link Link Look

    9517 Link Link Look 该题有题解 时间限制:2000MS  内存限制:65535K提交次数:67 通过次数:18 题型: 编程题   语言: G++;GCC Description ...

  6. 2015年趋势科技笔试A卷

    题目原题来源:url=BHz9dr7Dbql5Ai0fTaUsi8QH-ieA9UAtw8kpf-Us_cGUnsz7ZIU1SfHIp33Cphcp0n6uPikWL6r8n0a0zQ0wNOMLG ...

  7. 开源前夕先给大家赞赏一下我用C语言开发的云贴吧 站点自己主动兼容-移动、手机、PC自己主动兼容云贴吧

    开源前夕先给大家赞赏一下我用C语言开发的移动.手机.PC自己主动兼容云贴吧 - 涨知识属马超懒散,属虎太倔强.十二生肖全了!-转自云寻觅贴吧 转: 涨知识属马超懒散,属虎太倔强.十二生肖全了! -转自 ...

  8. 翻译Beginning iOS 7 Development中文版

    不会iOS开发好像真的说只是去,来本中文版的Beginning iOS 7 Development吧. 看了Beginning iOS 7 Development这本书,感觉蛮不错的.全英文的,没有中 ...

  9. Swift - 将字符串拆分成数组(把一个字符串分割成字符串数组)

    在Swift中,如果需要把一个字符串根据特定的分隔符拆分(split)成字符串数组,通常有如下两种方法: 1,使用componentsSeparatedByString()方法 1 2 3 4 5 l ...

  10. Swift Int to String

    最近在项目中用到 swift, 涉及到 Int 转 String 类型,需要保留两位数,所以去研究了一下,做个记录 1.通常情况下1.1 Int转 String let intValue1 = 2 l ...