【第二届青训营-寒假前端场】-Ant Design的初步认知

156 阅读3分钟

介绍

  • 在中台产品的研发过程中,会出现不同的设计规范和实现方式,但其中往往存在很多类似的页面和组件,给设计师和工程师带来很多困扰和重复建设,大大降低了产品的研发效率。我们(蚂蚁金服体验技术部)经过大量的项目实践和总结,沉淀出一个中台设计语言 Ant Design。旨在统一中台项目的前端 UI 设计,屏蔽不必要的设计差异和实现成本,解放设计和前端的研发资源。

  • Ant Design 是一个致力于提升『用户』和『设计者』使用体验的中台设计语言。它模糊了产品经理、交互设计师、视觉设计师、前端工程师、开发工程师等角色边界,将进行 UE 设计和 UI 设计人员统称为『设计者』,利用统一的规范进行设计赋能,全面提高中台产品体验和研发效率。

  • 推荐网站: ant.design/docs/spec/i… 

    umi 介绍

umijs.org/

  • React 组件使用的是 JSX 语法和很多新的 ES6 语法,浏览器不支持。另外,不同的组件脚本必须打包在一起,浏览器才能加载。
  • 因此,React 应用有一个构建过程,将源码编译为生产环境代码。这个步骤对于新手来说是比较麻烦的,因为有很多配置的细节,而且包括很多重复的环节,每个项目都必须做一次,也是很烦人的。
  • 因此,我们开发了一个工具 umi,封装了编译步骤,包括了很多开发时的有用工具。只要你写好 React 代码,接下来 umi 就会把它处理为生产代码。
  • umi 也是蚂蚁金服体验技术部推出的工具。在本次项目使用的技术也是采用 umi 和 Ant Design 配套使用。

基础要求

我觉得首先对于前端要有着一定的了解,后需要较为精通react等技术,这样在配合这教学视频就可以进行简单项目的开发

操作

npm install antd --save / yarn add antd / cnpm install antd --save

2)在react项目的css文件中引入Antd的css

@import '~antd/dist/antd.css';

3)、如何使用一个Button: a、在对应的组件中引入Antd import { Button } from 'antd'; b、在html本分写 <Button type="primary">Primary</Button>

  • react中使用Antd高级配置,按需引入css样式 现在组件已经成功运行起来了,但是在实际开发过程中还有很多问题,例如上面例子实际上市加载了全部的antd组件的样式(对前端性能是个隐患)。

1)、安装antd

npm install antd --save

2)、安装(react-app-rewired) 一个对 create-react-app 进行自定义配置的社区解决方案

yarn add react-app-rewired / cnpm install react-app-rewired --save

3)、修改package.jsonz中react-scripts 需改为react-app-rewired

"scripts": {
  		"start": "react-app-rewired start",
  		"build": "react-app-rewired build",
  		"test": "react-app-rewired test --env=jsdom",
  		"eject": "react-app-rewired eject"
 }

4)、在项目根目录创建一个 config-overrides.js 配置文件

const { injectBabelPlugin } = require('react-app-rewired');

module.exports = function override(config, env) {
  	 config = injectBabelPlugin(
    		   ['import', { libraryName: 'antd', libraryDirectory: 'es', style: 'css' }],
       	   config,
 	  );
  	 return config;
 };

5)、安装babel-plugin-import babel-plugin-import是一个用于按需加载组件代码和样式的 babel 插件

yarn add babel-plugin-import / cnpm install babel-plugin-import --save

6)、然后移除前面在 src/App.css 里全量添加的

@import '~antd/dist/antd.css';

  • 直接引入组件使用就会有对应的css:

import { Button } from 'antd';

<Button type="primary">Primary</Button>