背景
一个独立功能通常需要多个文件组成 (组件,reducer,action,路由等文件)
代码模板很复杂 (reducer,action需要代码模板,实际上填写的逻辑只是一小部分)
重构极为困难
(需要改动的地方很多)
项目复杂后很难理解和维护(无法直观的看到他们之间的关系)
思路
Rekit:更好的代码导航
- 语义化的组织源代码文件
- 使用子 Tab来展示项目元素的各个部分
- 直观的显示和导航某个功能的所有依赖
Rekit: 一键生成项目元素(它是一个IDE)
- 直观的 UI 用于生成组件,action,reducer 等
- 模板代码遵循最佳实践(只需填入具体逻辑)
- 支持命令行方式创建项目元素
Rekit: 重构非常容易
- 右键菜单重命名或者删除某个项目元素
- 所有相关代码都会一次性重构从而保证一致性
- 详细的 log信息显示重构的完整修改
Rekit: 可视化的项目架构
- 项目总体架构的可视化图表
- 项目依赖关系的图表
Rekit 是如何工作的?
- 定义了基于feature 的可扩展文件夹结构(文件夹结构有一定规则,可以进行解析)
- 基于最佳实践生成代码和管理项目元素
- 提供工具和 IDE 确保代码和文件夹结构遵循最佳实践
(减少工作量)
遵循最佳实践
1.以 feature 方式组织代码 (功能如果是必须的就放在已有模块底层实现,如果是原有功能增强的实现,则新拆分成功能模块)
2.拆分组件,action 和 reducer
3.拆分路由配置
通过代码自动生成保持一致性
1.文件夹结构一致性
2.文件名一致性
3.变量名一致性
4.代码逻辑的一致性
使用 React Router 管理路由授权
1.实现基础:React Router 的动态路由机制 (
不采用各个页面判断是否登录再redirect的方式跳转,路由配置(添加属性,那些可以在未登录下访问,或者哪些在未登录下不能访问)时就去动态监测当前用户是否登录,如果登录则全部路由生效;反之某些路由配置就不生效===>不生效处理,在解析router JSON数据时根据store中登录状态和路由配置的属性判断,未登录则跳转403,其子路由清空
)
2.区分受保护路由和公开路由
3.访问未授权路由时重定向到登录页面