Ant Design of React

这里是 Ant Design 的 React 实现,开发和服务于企业级后台产品。

+

特性#

  • 提炼自企业级中后台产品的交互语言和视觉风格。

  • 开箱即用的高质量 React 组件。

  • 使用 TypeScript 构建,提供完整的类型定义文件。

  • 基于 npm + webpack + babel 的工作流,支持 ES2015 和 TypeScript。

支持环境#

  • 现代浏览器和 IE9 及以上(需要 polyfills)。

  • 支持服务端渲染。

  • Electron

版本#

  • 稳定版:npm package

  • 预览版:npm (next)

你可以订阅:https://github.com/ant-design/ant-design/releases.atom 来获得稳定版发布的通知。

安装#

使用 npm 或 yarn 安装#

我们推荐使用 npm 或 yarn 的方式进行开发,不仅可在开发环境轻松调试,也可放心地在生产环境打包部署使用,享受整个生态圈和工具链带来的诸多好处。

$ npm install antd --save
$ yarn add antd

如果你的网络环境不佳,推荐使用 cnpm

浏览器引入#

在浏览器中使用 scriptlink 标签直接引入文件,并使用全局变量 antd

我们在 npm 发布包内的 antd/dist 目录下提供了 antd.js antd.css 以及 antd.min.js antd.min.css。你也可以通过 CDNJSUNPKG 进行下载。

强烈不推荐使用已构建文件,这样无法按需加载,而且难以获得底层依赖模块的 bug 快速修复支持。

示例#

import { DatePicker } from 'antd';
ReactDOM.render(<DatePicker />, mountNode);

引入样式:

import 'antd/dist/antd.css';  // or 'antd/dist/antd.less'

按需加载#

下面两种方式都可以只加载用到的组件。

  • 使用 babel-plugin-import(推荐)。

    // .babelrc or babel-loader option
    {
      "plugins": [
        ["import", { "libraryName": "antd", "style": "css" }] // `style: true` 会加载 less 文件
      ]
    }

    然后只需从 antd 引入模块即可,无需单独引入样式。等同于下面手动引入的方式。

    // babel-plugin-import 会帮助你加载 JS 和 CSS
    import { DatePicker } from 'antd';
  • 手动引入

    import DatePicker from 'antd/lib/date-picker';  // 加载 JS
    import 'antd/lib/date-picker/style/css';        // 加载 CSS
    // import 'antd/lib/date-picker/style';         // 加载 LESS

TypeScript#

// tsconfig.json
{
  "compilerOptions": {
    "moduleResolution": "node",
    "jsx": "preserve",
    "allowSyntheticDefaultImports": true
  }
}

注意:

  • 设置 allowSyntheticDefaultImports 避免 error TS1192: Module 'react' has no default export 的错误。

  • 不要使用 @types/antd, antd 已经自带了 TypeScript 定义。

链接#

谁在使用#

如果你的公司和产品使用了 Ant Design,欢迎到 这里 留言。

如何贡献#

在任何形式的参与前,请先阅读 贡献者文档。如果你希望参与贡献,欢迎 Pull Request,或给我们 报告 Bug

强烈推荐阅读 《提问的智慧》《如何向开源社区提问题》《如何有效地报告 Bug》《如何向开源项目提交无法解答的问题》,更好的问题更容易获得帮助。

社区互助#

如果您在使用的过程中碰到问题,可以通过下面几个途径寻求帮助,同时我们也鼓励资深用户通过下面的途径给新人提供帮助。

通过 Stack Overflow 或者 Segment Fault 提问时,建议加上 antd 标签。

  1. Stack Overflow(English)

  2. Segment Fault(中文)

  3. Gitter (English)

  4. Join the chat at https://gitter.im/ant-design/ant-design(中文)