脚手架搭建
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. spring boot使用外部tomcat部署

    1:pom里面的packaging修改为war(<packaging>war</packaging>) 2:在pom依赖spring-boot-starter-web排除内置的 ...

  2. Python学习-生成器 - Generator

    简单来说,generator是一个能够返回迭代器对象的函数. yield的使用: 在python中,当你定义一个函数,使用了yield关键字时,这个函数就是一个生成器,它的执行会和其他普通的函数有很多 ...

  3. UVA 11383 - Golden Tiger Claw(二分图完美匹配扩展)

    UVA 11383 - Golden Tiger Claw 题目链接 题意:给定每列和每行的和,给定一个矩阵,要求每一个格子(x, y)的值小于row(i) + col(j),求一种方案,而且全部行列 ...

  4. 支持中文的基于词为基本粒度的前缀树(prefix trie)python实现

    Trie树,也叫字典树.前缀树.可用于"predictive text"和"autocompletion".亦可用于统计词频(边插入Trie树边更新或加入词频) ...

  5. WPF带cookie get/post请求网页,下载文件,图片,可保持会话状态

    直接写成啦一个MyNet.cs类方便使用 get/post方法请求 //get请求 MyNet.SendRequest("http://www.baidu.com"); //pos ...

  6. vbs脚本

    巧用Vbs SendKeys 可以做的事 发布: 2014-04-06 10:00:20 | 作者: | 来源: 按键精灵资源站 巧妙使用VBS中的SendKeys命令(这个命令的作用就是模拟键盘操作 ...

  7. 使用imgareaselect 辅助后台进行图片裁剪

    由于项目其中用到图片裁剪,本来能够不用到后台进行裁剪的,可是要兼容万恶的IE浏览器,所以不得不使用后台进行裁剪. 这次使用到imgareaselect 插件获取须要裁剪区域的坐标.再由后台进行裁剪操作 ...

  8. 去哪网实习总结:JavaWeb配置404页面(JavaWeb)

    本来是以做数据挖掘的目的进去哪网的,结构却成了系统开发. .. 只是还是比較认真的做了三个月,老师非常认同我的工作态度和成果... 实习立即就要结束了,总结一下几点之前没有注意过的变成习惯和问题.分享 ...

  9. nginx源代码分析--进程间通信机制 &amp; 同步机制

    Nginx源代码分析-进程间通信机制 从nginx的进程模型能够知道.master进程和worker进程须要通信,nginx中通信的方式有套接字.共享内存.信号.对于master进程,从外部接受信号, ...

  10. Referenced file contains errors (http://www.springframework.org/schema/beans/spring-beans-3.0.xsd)

    问题: java项目在Eclipse中xml有小红叉 Problems:Referenced file contains errors (http://www.springframework.org/ ...