Ant Design Pro 是一个企业级中后台前端/设计解决方案。由阿里蚂蚁金服维护,已经开源

基于 antd-pro@1.1.0

介绍

有两种方式安装,参见安装

安装之后会生成如下目录:

├── mock # 本地模拟数据
├── public
│ └── favicon.ico # Favicon
├── src
│ ├── assets # 本地静态资源
│ ├── common # 应用公用配置,如导航信息
│ ├── components # 业务通用组件
│ ├── e2e # 集成测试用例
│ ├── layouts # 通用布局
│ ├── models # dva model
│ ├── routes # 业务页面入口和常用模板
│ ├── services # 后台接口服务
│ ├── utils # 工具库
│ ├── g2.js # 可视化图形配置
│ ├── theme.js # 主题配置
│ ├── index.ejs # HTML 入口模板
│ ├── index.js # 应用入口
│ ├── index.less # 全局样式
│ └── router.js # 路由入口
├── tests # 测试工具
├── README.md
└── package.json

介绍一下常用或者需要注意的几个目录:

  1. router.js 配置前端路由,查看项目的整体结构
  2. layouts 页面的整体布局,抽离成单独的组件,
  3. common 公用配置,包括菜单配置,路由配置等
  4. index.js 在之前的版本中,我们每次新建一个model,需要在这里注册才能使用;现在的版本不需要了
  5. models 数据仓库,每个文件都需要一个命名空间。
    文件包含以下几个模块(实际上都是javascript对象):
    state => 数据构成
    effects => 处理异步action,采用generator的相关概念,将异步转化成同步写法。
    reducers => 处理同步action,相当于redux中的reducer函数,纯函数(即相同的输入得到相同的输出)
    subscriptions => 官方的解释是:subscriptions是一种从 源 获取数据的方法,它来自于elm。我的理解是订阅某些事件并对其做处理,不过我还没有使用过 参考
  6. routes 业务组件,通常是需要连接数据仓库的组件。我们通过connect连接数据仓库之后可以通过this.props获取到数据和dispatch方法,并使用dispatch派发action来达到更新state(即更新数据仓库)的操作。
  7. components 通用组件(纯组件),通常是一些复用性很强的组件,不需要连接数据仓库。通过props传递数据,父组件传递相同的props,会渲染相同的页面。不做任何业务上的处理。
  8. services 所有的请求都写在这里,官方已经为我们封装了request方法,我们只需要传入参数即可。

开发流程

开发流程因人而异,这只是我个人的习惯

  1. 定义路由。之前版本的菜单和路由配置在一个文件,现在已经分离开来。
  2. 定义model数据仓库:命名空间
  3. 定义前端请求,在services中
  4. 在routers中开发业务组件,并连接到model
  5. 根据需要在components中封装可复用的纯组件
  6. 在routers中使用state并通过dispatch派发action到model来修改state

参考antd-pro官方文档