代码地址如下:
http://www.demodashi.com/demo/12309.html

本文适合对象

  1. 有过React使用经验。
  2. 有过webpack使用经验。
  3. 了解node。

DEMO使用方式

  1. npm install
  2. npm run start
  3. npm run startfe
  4. 登录localhost:8088查看效果

注:demo中node使用pm2进行管理和启动,如果需要查看终端输出,可以使用pm2 log命令查看。

本demo是在macOS环境下开发运行的,若是windows环境运行有问题,可以在评论留言。

关于AntDesign

虽然Antd是一门非常棒的UI设计语言,但是在我个人看来,Antd比较适合用作后台系统开发,并不是非常适合用在前端页面开发。

后台页面不需要给用户看,因此以样式和开发效率以及功能为主。

现在的网站十分看重用户体验,前端项目的体积需要尽可能的小,然而Antd组件由于拥有充足的功能和接口,就导致组件的体积必然不小。

作为通用组件库,Antd组件拥有在大部分情况下都可以用得到的接口,但是在我们具体的业务中,可能只需要其中的一两个功能,但是却不得不引入整个组件,本来5kb就可以完成我们所需功能的代码,现在却变成了50kb甚至100kb的代码量,这在前端项目中是十分致命的问题。

在index.js文件中,我只引入了Menu和Icon两个组件,文件大小就已经飙升到了450kb。

import { Menu, Icon } from 'antd';

即使使用了Uglifyjs插件对js文件进行压缩,最后还是有200kb左右的大小。

可能如果要我们自己的业务中实现这个Menu组件,只需要几kb就可以了。

但是这并不能否认Antd本身的优秀,即使是前端工程师,也可以从Antd组件中学习到很多东西,甚至我们平时开发组件的时候,都是按照antd的标准和接口设计去进行开发的。

这里是知乎上对Antd设计语言的评价:链接。

这里是antd发行3.0版本的版本那说明:链接。

Ant Design 3.0 按需加载

快速引入使用

我们通过npm安装好了antd之后,不可能直接将antd全部组件都引入进来,那样会导致包的提及非常大,所以必须使用按需加载,用到什么组件就引入什么组件。

npm install --save antd

若npm速度太慢,可以安装淘宝的国内镜像cnpm。

npm install -g cnpm

然后用cnpm安装就会快很多。

cnpm install --save antd

安装完成之后,我们只需要在react组件中引入组件即可。

import Button from 'antd/lib/button';
import 'antd/lib/button/style';
// 注意,这里antd实用的是less样式,如果webpack没有配置对less的解析的话,这样引入会报错。
// 可以直接使用引入css的方式
// import 'antd/lib/button/style/css';

这样引入之后,我们就可以在下面直接使用Button组件了。

<Button>This is a Button</Button>

但是这种引入方式十分繁琐,不仅路径名太长,而且我们每引入一个组件,还需要专门到相应的style文件里面引入样式文件。

就没有一种方法可以直接引入组件就可以了吗?

答案当然是有的。

配合babel自动加载

如果你使用过webpack和es6语法,那么你一定知道什么是babel,如果你对babel不了解,那么可以先到babel中文网了解一下。

我们如果在项目中使用了babel,就可以配合babel-plugin-import插件自动按需加载。

npm install --save babel-plugin-import

安装好插件之后,我们在根目录下创建一个.babelrc文件(注意直接以.开头),用来对全局babel进行配置。

{"plugins": [["import"]]
}

这样我们就可以自动引入babel-plugins-import插件了。

使用了这个插件之后,我就可以变成这种写法了:

import { Button } from 'antd';

babel-plugin-import 可以帮我们把这种写法自动编译成如下这种写法:

import Button from 'antd/lib/button';

现在路径名过长的问题解决了。

关于引入样式的问题,我们可以还是通过babel-plugin-import插件的style属性来做到组件样式自动加载。

{"plugins": [["import", {"libraryName": "antd", "style": true}]]
}

这样,在组件中,我们就可以直接用import { Button } from 'antd';这种写法自动引入组件和组件相对应的样式文件了。

不过这里要注意的是,import插件的style属性,不仅会引入组件样式,还会引入一些必要的全局样式,大家使用的时候要注意,官方建议如果没有必要的话,可以不使用该属性。

组件代码截图:

前端组件展示截图:

自此,在项目中引入antd的工作就完成了。

补充项目截图

本文只是讲述了如何在项目中引入antd,因为没有业务场景,所以并没有写具体的前端页面,大家看demo的时候尽量看代码配置即可。

demo是在上一篇的demo:react-cli的基础上进行改造的,可能有很多没必要的插件和配置文件,大家忽略即可。Ant Design 3.0 使用案例

代码地址如下:
http://www.demodashi.com/demo/12309.html

注:本文著作权归作者,由demo大师代发,拒绝转载,转载需要作者授权

Ant Design 3.0 使用案例相关推荐

  1. Ant Design 4.0 进行时!

    引言 Ant Design 于 17 年 12 月发布 3.0 以来,已经经历了 16 个月的时间.在此期间,我们修复了海量 Bug.以及增加大量新功能(更新日志).提交了 4289 个 commit ...

  2. 小米回应暴力裁员;报告称安卓手机贬值速度是 iPhone 两倍;Ant Design 4.0.1 发布| 极客头条...

    整理 | 屠敏 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦 ...

  3. 大会 | SEE Conf:Ant Design 3.0 背后的故事

    SEE Conf大会精彩回顾 1月6日,首届蚂蚁金服体验科技大会 SEE Conf 2018 在杭州成功召开.SEE = Seeking Experience & Engineering,意为 ...

  4. 编辑器设计系列:每天都在用,你真的了解它么? | Ant Design 4.0 系列分享

    提起编辑器,你会想到什么? 也许你从来没有意识到,但是从接触计算机开始,你就和各种编辑器打上了交道. Windows 98 中的画图软件也许是你的启蒙.计算机课上当你敲下第一个五彩斑斓的字,作出第一张 ...

  5. Ant Design Mobile 5.6.0版本来了

    一.Ant Design Mobile介绍 Ant Design Mobile( 官网地址:Ant Design Mobile - Ant Design Mobile ) 是由支付宝设计团队基于蚂蚁集 ...

  6. easyui根据select下拉框内容更新表单内容_Ant Design 4.0 的一些杂事儿 - Select 篇

    前几篇: Ant Design 4.0 的一些杂事儿 - Table 篇 Ant Design 4.0 的一些杂事儿 - Form 篇 聊完了 Table 和 Form 两个重型组件,我们来继续聊聊看 ...

  7. Ant Design Pro v4 is Here

    Ant Design Pro v4 is Here 距离 Pro 的上个版本发布已经过去了 8 个月,Pro 也进行了许多的迭代,但是大部分更新仍然以修复 bug 为主.在此期间我们遇到了许多使用 P ...

  8. iview 下拉select样式_Ant Design 4.0 的一些杂事儿 - Select 篇

    前几篇: Ant Design 4.0 的一些杂事儿 - Table 篇 Ant Design 4.0 的一些杂事儿 - Form 篇 聊完了 Table 和 Form 两个重型组件,我们来继续聊聊看 ...

  9. antd vue form 手动校验_Ant Design 4.0 的一些杂事儿 - Form 篇

    上一篇:Ant Design 4.0 的一些杂事儿 - Table 篇 是的,趁着手热,于是又开了一篇新的文章,用来讲讲我们在开发 Ant Design 4.0 的 Form 时遇到的一些杂事儿.当然 ...

最新文章

  1. 业界谈AI赋能传统金融:精细化、数字化、个性化成三大关键词
  2. Boost:双图bimap与mi_hashed indices索引的测试程序
  3. java js引擎,Java8 Nashorn JavaScript引擎
  4. 微型计算机系统包括( )几部分,微型计算机系统包括哪几个部分?
  5. 计算机技能测试题九,计算机技能培训后人人过关测试试题九
  6. ubuntu安装nginx及其默认目录结构
  7. wps二次开发无法创建对象wps.application的解决方案
  8. Modbus通用数据读取工具设计及使用
  9. 递归统计项目中的非空白代码行数
  10. springboot+旅游管理系统 毕业设计-附源码261117
  11. gitbook 插件 图片查看
  12. 继电器学习笔记(一)继电器概念
  13. linux系统中 为mysql还原数据库_linux中mysql还原数据库命令
  14. 泊松分布以及相关分布的知识整理
  15. ESX修复Linux虚拟机重启只读模式
  16. Mac 中composer的安装
  17. 网页上播放微信录音amr文件方案
  18. html显示用户ipv6地址,IPv6地址查询
  19. Oracle compound trigger的大坑(Oracle-12c)
  20. 正则表达式(regular expression [regExp])

热门文章

  1. 单引号(')和双引号()
  2. jquery 获取Input 值
  3. 印度式画线乘法基本操作
  4. winform 界面库SunnyUI初次使用
  5. Power Shell 使用图解2
  6. 图解VC6辅助编程工具的使用
  7. [Java]Object有哪些公用方法?
  8. 剑指offer-孩子们的游戏(圆圈中最后剩下的数)
  9. java子类对象不能调用父类protected方法和域的原因。
  10. .net网络编程之一:Socket编程