项目目录介绍

  1. ├── config # umi 配置,包含路由,构建等配置
  2. ├── mock # 本地模拟数据
  3. ├── public
  4. └── favicon.png # Favicon
  5. ├── src
  6. ├── assets # 本地静态资源
  7. ├── components # 业务通用组件
  8. ├── e2e # 集成测试用例
  9. ├── layouts # 通用布局
  10. ├── models # 全局 dva model
  11. ├── pages # 业务页面入口和常用模板
  12. ├── services # 后台接口服务
  13. ├── utils # 工具库
  14. ├── locales # 国际化资源
  15. ├── global.less # 全局样式
  16. └── global.ts # 全局 JS
  17. ├── tests # 测试工具
  18. ├── README.md
  19. └── package.json

页面代码结构

为了让项目代码组织更加规范,让开发能够更方便的定位到相关页面组件代码,我们定义了一套规范,该规范当前只作为推荐的指导,并非强制。

  1. src
  2. ├── components
  3. └── pages
  4. ├── Welcome // 路由组件下不应该再包含其他路由组件,基于这个约定就能清楚的区分路由组件和非路由组件了
  5. | ├── components // 对于复杂的页面可以再自己做更深层次的组织,但建议不要超过三层
  6. | ├── Form.tsx
  7. | ├── index.tsx // 页面组件的代码
  8. | └── index.less // 页面样式
  9. ├── system // 路由组件下不应该再包含其他路由组件,基于这个约定就能清楚的区分路由组件和非路由组件了
  10. | ├── user
  11. | | ├── data.d.ts
  12. | | ├── index.tsx
  13. | | ├── service.tsx
  14. | | ├── components-UpdateForm.tsx
  15. ├── user // 一系列页面推荐通过小写的单一字母做 group 目录
  16. | ├── components // group 下公用的组件集合
  17. | ├── Login // group 下的页面 Login
  18. | ├── Register // group 下的页面 Register
  19. | └── util.ts // 这里可以有一些共用方法之类,不做推荐和约束,看业务场景自行做组织
  20. └── * // 其它页面组件代码

image.png

业务功能目录介绍

  1. - Dashboard
  2. - Welcome 首页
  3. - example-案例模块
  4. - iframe -iframe嵌套案例
  5. - openHref -在线打开href案例
  6. - richText -富文本案例
  7. - richText -富文本案例
  8. - userOrganize -选择用户组织案例
  9. - 异常模块
  10. - 403 无权限
  11. - 404 找不到
  12. - 500 服务器出错
  13. - gencode -代码生成成功模块
  14. - mycontent -单表生成成果案例
  15. - mytree -树表生成成果案例
  16. - monitor -监控模块
  17. - server -服务监控
  18. - quartz 定时模块
  19. - busTask -定时器业务模块
  20. - Cron -cron表达式案例
  21. - TimTask -定时器模块
  22. - system -系统模块
  23. - Area -地区管理模块
  24. - Dictionary -字典管理模块
  25. - Group -用户组管理模块
  26. - Iframe -菜单调整Iframe
  27. - Menu -菜单管理模块
  28. - Organize -组织管理模块
  29. - Role -角色管理模块
  30. - User -用户管理模块
  31. - user
  32. - Login -登录