获课:789it.top/14915/
若依(RuoYi)是一款基于Spring Boot + Vue前后端分离的快速开发框架,其清晰的目录结构和模块化设计为开发者提供了高效的开发体验。本文将从后端(Java)和前端(Vue)两个维度,深度解析若依框架的目录结构,帮助开发者快速掌握项目导航,避免在复杂目录中“迷路”。
一、后端(Java)目录结构解析
若依后端采用标准的Maven多模块项目结构,核心模块包括ruoyi-admin(管理后台)、ruoyi-system(系统业务)、ruoyi-framework(框架基础)等。以下是关键目录的详细说明:
1. 根目录(ruoyi)
2. 核心模块目录
2.1 ruoyi-admin(管理后台模块)
- 作用:提供系统管理后台的Web接口,包括登录、权限控制、日志管理等。
- 关键目录:
src/main/java/com/ruoyi/web/controller/:控制器层,处理HTTP请求(如SystemController)。src/main/resources/mapper/:MyBatis映射文件,定义SQL语句(如UserMapper.xml)。src/main/resources/static/:静态资源(如前端打包后的文件、上传的图片)。
2.2 ruoyi-system(系统业务模块)
- 作用:封装核心业务逻辑,如用户管理、角色管理、菜单管理等。
- 关键目录:
src/main/java/com/ruoyi/system/service/:服务层接口(如IUserService)。src/main/java/com/ruoyi/system/domain/:实体类(如User、Role)。src/main/java/com/ruoyi/system/mapper/:MyBatis数据访问层(如UserMapper)。
2.3 ruoyi-framework(框架基础模块)
- 作用:提供通用功能支持,如安全认证、日志记录、缓存管理等。
- 关键目录:
src/main/java/com/ruoyi/framework/aspectj/:AOP切面(如日志切面、权限切面)。src/main/java/com/ruoyi/framework/config/:框架配置类(如Shiro安全配置、Swagger配置)。src/main/java/com/ruoyi/framework/web/:Web通用工具(如全局异常处理、结果封装)。
2.4 ruoyi-common(通用工具模块)
- 作用:封装跨模块的通用工具类,如字符串处理、日期工具、加密算法等。
- 关键目录:
src/main/java/com/ruoyi/common/core/:核心工具类(如StringUtils、DateUtils)。src/main/java/com/ruoyi/common/enums/:通用枚举(如状态码、操作类型)。src/main/java/com/ruoyi/common/exception/:自定义异常类(如ServiceException)。
3. 配置文件目录
二、前端(Vue)目录结构解析
若依前端基于Vue 3 + Element Plus构建,采用模块化设计,核心目录如下:
1. 根目录(ruoyi-ui)
2. 核心源代码目录(src/)
2.1 src/api/
- 作用:封装所有后端API请求,与后端
ruoyi-admin的控制器对应。 - 示例:
user.js:封装用户相关的API(如登录、获取用户列表)。system.js:封装系统配置相关的API。
2.2 src/views/
- 作用:存放所有页面组件,按功能模块划分子目录。
- 关键子目录:
system/:系统管理页面(如用户管理、角色管理)。monitor/:监控页面(如日志查询、服务监控)。layout/:布局组件(如侧边栏、顶部导航)。
2.3 src/router/
- 作用:定义前端路由规则,与页面组件映射。
- 关键文件:
index.js:主路由配置,包含动态路由加载逻辑。modules/:模块化路由(如system.js定义系统模块的路由)。
2.4 src/store/
- 作用:Vuex状态管理,存储全局数据(如用户信息、权限菜单)。
- 关键目录:
modules/:按模块划分状态(如user.js存储用户状态)。getters.js:定义计算属性,方便组件访问状态。
2.5 src/utils/
- 作用:通用工具函数,如请求封装、权限校验、日期格式化等。
- 关键文件:
request.js:基于Axios封装的HTTP请求工具。auth.js:处理Token的存储与校验。
2.6 src/assets/
- 作用:存放静态资源(如图片、字体、全局样式)。
- 子目录:
css/:全局样式文件(如element-variables.scss覆盖Element默认样式)。images/:项目用到的图片资源。
三、目录结构导航图
后端导航图
1ruoyi/2├── docs/ # 项目文档3├── sql/ # SQL脚本4├── ruoyi-admin/ # 管理后台模块5│ ├── src/main/java/com/ruoyi/web/controller/ # 控制器层6│ └── src/main/resources/mapper/ # MyBatis映射文件7├── ruoyi-system/ # 系统业务模块8│ ├── src/main/java/com/ruoyi/system/service/ # 服务层9│ └── src/main/java/com/ruoyi/system/domain/ # 实体类10├── ruoyi-framework/ # 框架基础模块11│ └── src/main/java/com/ruoyi/framework/aspectj/ # AOP切面12└── ruoyi-common/ # 通用工具模块13 └── src/main/java/com/ruoyi/common/core/ # 核心工具类
前端导航图
1ruoyi-ui/2├── public/ # 静态资源3├── src/4│ ├── api/ # API请求封装5│ ├── views/ # 页面组件6│ │ └── system/ # 系统管理页面7│ ├── router/ # 路由配置8│ ├── store/ # Vuex状态管理9│ ├── utils/ # 工具函数10│ └── assets/ # 静态资源(图片、样式)11└── vue.config.js # Vue CLI配置
四、高效开发建议
- 模块化开发:遵循“高内聚、低耦合”原则,将功能相关代码放在同一模块(如用户管理相关代码集中在
ruoyi-system和src/views/system/)。 - 配置优先:修改配置时优先查找
application.yml、vue.config.js等配置文件,避免硬编码。 - 工具类复用:通用功能(如日期处理、加密)优先使用
ruoyi-common或src/utils/中的工具类。 - API对应关系:前端
src/api/与后端ruoyi-admin/src/main/java/com/ruoyi/web/controller/保持命名一致,便于维护。
五、总结
若依框架的目录结构通过清晰的模块划分和分层设计,显著降低了开发复杂度。后端以业务模块为核心,前端以功能页面为导向,配合完善的工具类和配置文件,使开发者能够快速定位代码、高效协作。掌握这一导航图后,无论是二次开发还是问题排查,都能做到“心中有数,不再迷路”。
本站不存储任何实质资源,该帖为网盘用户发布的网盘链接介绍帖,本文内所有链接指向的云盘网盘资源,其版权归版权方所有!其实际管理权为帖子发布者所有,本站无法操作相关资源。如您认为本站任何介绍帖侵犯了您的合法版权,请发送邮件
[email protected] 进行投诉,我们将在确认本文链接指向的资源存在侵权后,立即删除相关介绍帖子!
暂无评论