项目目录结构设计规范
common 通用工具模块
基础通用功能的工具类模块,涵盖广泛,满足各种工具操作。
├─common
│ ├─bin 可执行目录、打包模块
│ ├─src 工程源文件代码目录
│ │ ├─main
│ │ │ ├─java
│ │ │ │ └─com
│ │ │ │ └─deertech
│ │ │ │ └─common
│ │ │ │ ├─callback 方法回调相关接口
│ │ │ │ ├─codec 解码编码工具
│ │ │ │ ├─collect 集合工具
│ │ │ │ ├─exec 命令行执行工具
│ │ │ │ ├─idgen ID生成工具
│ │ │ │ ├─image 图片处理工具
│ │ │ │ ├─io 文件处理工具
│ │ │ │ ├─lang 字符串等基础数据类型处理工具
│ │ │ │ ├─mapper JSON、XML等处理工具
│ │ │ │ ├─media 视频音频处理
│ │ │ │ ├─msg 邮件短信工具
│ │ │ │ ├─network IP、Mac工具
│ │ │ │ ├─reflect 反射工具、类扫描工具
│ │ │ │ ├─text 文本处理、拼音、差异比较工具
│ │ │ │ ├─ueditor 富文本编辑器
│ │ │ │ ├─utils
│ │ │ │ │ ├─excel Excel导入导出工具
│ │ │ │ │ └─word Word导出工具
│ │ │ │ └─web
│ │ │ │ └─http HTTP、Servlet相关工具
│ │ │ └─resources
│ │ │ └─static 静态文件资源
│ │ │ ├─adminlte AdminLTE UI
│ │ │ ├─bootstrap BootStrap 核心
│ │ │ ├─bootstrap-plugins Bootstrap 插件
│ │ │ ├─common 通用js工具
│ │ │ ├─fonts 字体图标
│ │ │ ├─icheck 复选框单选框美化
│ │ │ ├─jquery jQuery 核心
│ │ │ ├─jquery-plugins jQuery 插件
│ │ │ ├─jquery-ztree zTree 树结构插件
│ │ │ ├─laydate 日期选择插件
│ │ │ ├─layer 弹窗对话框插件
│ │ │ └─select2 下拉框美化
│ │ └─test 单元测试目录
│ └─target 编译结果目录
modules 功能模块目录
所有功能模块将放到该目录下如:核心模块、内容管理、业务流程、文件管理等等。
├─modules
core 核心功能模块
├─modules
│ ├─core
│ │ ├─bin 可执行目录、模块打包
│ │ ├─db 数据库模型设计目录
│ │ ├─src 模块源文件代码目录
│ │ │ ├─main
│ │ │ │ ├─java
│ │ │ │ │ └─com
│ │ │ │ │ └─deertech
│ │ │ │ │ ├─autoconfigure 模块SpringBoot自动配置包
│ │ │ │ │ ├─common
│ │ │ │ │ │ ├─shiro
│ │ │ │ │ │ │ ├─filter Shiro安全过滤器类
│ │ │ │ │ │ │ └─realm Shiro安全身份认证类
│ │ │ │ │ │ └─utils
│ │ │ │ │ │ └─excel
│ │ │ │ │ │ └─fieldtype 核心模块定义的Excel导入导出类型
│ │ │ │ │ └─modules
│ │ │ │ │ ├─config
│ │ │ │ │ │ └─web
│ │ │ │ │ │ └─interceptor SpringMVC拦截器、日志拦截等
│ │ │ │ │ ├─msg 消息模块内部消息
│ │ │ │ │ └─sys 核心功能包
│ │ │ │ │ ├─dao 持久层相关类
│ │ │ │ │ ├─db 数据库初始化配置类
│ │ │ │ │ ├─entity 实体类
│ │ │ │ │ ├─interceptor 接口相关
│ │ │ │ │ ├─service 业务服务类及接口
│ │ │ │ │ │ └─support 业务实现支撑类
│ │ │ │ │ ├─utils 核心模块工具包
│ │ │ │ │ └─web 核心模块控制器包
│ │ │ │ └─resources
│ │ │ │ ├─config 核心功能配置文件
│ │ │ │ ├─db
│ │ │ │ │ ├─create 核心功能数据库初始化SQL脚本
│ │ │ │ │ └─upgrade
│ │ │ │ │ └─core 核心功能的数据库升级SQL脚本
│ │ │ │ ├─i18n
│ │ │ │ │ └─core 国际化核心功能语言包
│ │ │ │ ├─mappings
│ │ │ │ │ └─modules
│ │ │ │ │ ├─msg 消息模块复杂SQL定义
│ │ │ │ │ └─sys 核心功能复杂SQL定义
│ │ │ │ ├─mybatis MyBatis框架个性化配置文件
│ │ │ │ ├─static
│ │ │ │ │ ├─common 通用静态资源目录
│ │ │ │ │ │ └─i18n 通用静态资源国际化语言包
│ │ │ │ │ ├─echarts Echarts图表
│ │ │ │ │ ├─fullcalendar 日历组件
│ │ │ │ │ ├─images 通用图片资源
│ │ │ │ │ ├─jqGrid DataGrid表格组件
│ │ │ │ │ ├─jquery-plugins jQuery的一些插件
│ │ │ │ │ ├─jquery-timeago 时间流逝组件
│ │ │ │ │ ├─jquery-validation 表单验证组件
│ │ │ │ │ ├─modules
│ │ │ │ │ │ └─sys 核心功能js文件
│ │ │ │ │ ├─ueditor 富文本插件
│ │ │ │ │ └─webuploader 文件上传插件
│ │ │ │ ├─templates
│ │ │ │ │ └─modules
│ │ │ │ │ └─gen 代码生成模板
│ │ │ │ │ ├─crud 增删改查模板
│ │ │ │ │ ├─crud_cloud Cloud版的增删改查模板
│ │ │ │ │ ├─module 新增Maven模块的生成模板
│ │ │ │ │ ├─module_cloud Cloud版的新增Maven模块模板
│ │ │ │ │ └─query 仅查询功能的代码生成模板
│ │ │ │ └─views
│ │ │ │ ├─error 错误页面视图
│ │ │ │ ├─include 通用的视图片段
│ │ │ │ │ └─sysIndex 主框架页的视图片段
│ │ │ │ ├─layouts 页面布局框架文件
│ │ │ │ ├─modules
│ │ │ │ │ ├─msg 内置消息视图
│ │ │ │ │ └─sys 核心功能视图
│ │ │ │ └─themes 个性化主题定义视图
│ │ │ │ └─default 默认主题目录
│ │ │ │ ├─include 默认主题的视图片段
│ │ │ │ └─modules 默认主题的模块视图
│ │ │ └─test 单元测试目录
│ │ └─target 编译结果目录
template 通用工程模板
最初定义是为了方便客户新建模块,直接复制一份,修改下文件名和模块名即可。
│ └─template
│ ├─.settings
│ ├─bin 可执行目录、模块打包
│ ├─db 数据库模型设计目录
│ ├─src 模块源文件代码目录
│ │ └─main
│ │ ├─java 源码类目录
│ │ └─resources
│ │ ├─config 模块独立的配置文件
│ │ ├─db
│ │ │ ├─create 模块数据库初始化脚本
│ │ │ └─upgrade 模块数据库更新升级脚本
│ │ └─static
│ │ └─modules
│ │ └─template 模块独立的静态资源
│ └─target 编译结果目录
parent 父级 pom.xml
所有 Maven 最上级的 pom.xml 定义,包含第三方依赖的版本号属性定义、插件定义等。
├─parent
│ └─bin 可执行目录、打包模块
root 顶级 pom.xml
所有模块间的引用,IDEA 导入的 root pom.xml 功能,统一打包的工程
├─root
│ └─bin 可执行目录、打包全部工程
web 服务启动工程
系统的入口,模块的引用、参数配置、启动 Web 服务的工程
└─web
├─bin 可执行目录、打包全部工程
│ └─docker Docker 容器部署工具
├─db 数据库模型设计目录
├─src 源代码目录
│ ├─main
│ │ ├─java
│ │ │ └─com
│ │ │ └─deertech
│ │ │ └─modules
│ │ │ └─test 代码生成功能示例
│ │ │ ├─dao 持久层
│ │ │ ├─db Test示例功能数据库初始化配置类
│ │ │ ├─entity 实体Bean
│ │ │ ├─service 业务逻辑层
│ │ │ └─web 视图控制器
│ │ ├─resources
│ │ │ ├─config 系统配置文件
│ │ │ ├─db
│ │ │ │ └─create Test示例功能数据初始化脚本
│ │ │ ├─mappings
│ │ │ │ └─modules
│ │ │ │ └─test Test示例功能复杂SQL定义
│ │ │ ├─static
│ │ │ │ └─common 通用静态css/js引用文件
│ │ │ └─views
│ │ │ └─modules
│ │ │ ├─demo 一些组件演示示例
│ │ │ └─test Test示例功能视图
│ │ └─webapp
│ │ ├─userfiles 文件上传默认目录,可更改其它目录或其他OSS存储
│ │ │ ├─avatar 用户上传的头像
│ │ │ ├─fileupload 文件上传组件上传的文件
│ │ │ └─system 富文本用户上传目录
│ │ └─WEB-INF
│ │ ├─classes 类及资源编译目录
│ │ └─ureportfiles 报表文件目录
│ └─test 单元测试工具
└─target 工程编译结果目录
Vue 分离端
├── build 打包脚本相关
│ ├── config 配置文件
│ ├── generate 样式生成器
│ ├── script 编译脚本
│ └── vite vite配置
├── mock mock文件夹
├── public 公共静态资源目录
├── src 源码主目录
│ ├── api 数据接口文件
│ ├── assets 资源文件
│ │ ├── icons 图标文件夹
│ │ ├── images 图片的文件夹
│ │ └── svg svg图片的文件夹
│ ├── components 公共组件
│ ├── design 样式文件
│ ├── directives 指令
│ ├── enums 枚举/常量
│ ├── hooks hook
│ │ ├── component 组件相关hook
│ │ ├── core 基础核心hook
│ │ ├── event 事件相关hook
│ │ ├── setting 配置相关hook
│ │ └── web web相关hook
│ ├── layouts 布局文件
│ │ ├── default 默认布局
│ │ ├── iframe iframe布局
│ │ └── page 页面布局
│ ├── locales 多语言
│ ├── logics 逻辑
│ ├── App.vue 主页面
│ ├── main.ts 主入口
│ ├── router 路由配置
│ ├── settings 项目配置
│ │ ├── componentSetting.ts 组件配置
│ │ ├── designSetting.ts 样式配置
│ │ ├── encryptionSetting.ts 加密配置
│ │ ├── localeSetting.ts 多语言配置
│ │ ├── projectSetting.ts 项目配置
│ │ └── siteSetting.ts 站点配置
│ ├── store 本地存储
│ ├── utils 工具类
│ └── views 视图页面
│ ├── bpm 工作流模块
│ ├── sys 系统核心模块
│ └── test 测试功能模块
├── test 测试
│ └── server 测试用到的服务
│ ├── api 测试服务器
│ ├── upload 测试上传服务器
│ └── websocket 测试ws服务器
├── types 类型文件
├── .env 全局属性配置
├── .env.development 开发环境属性配置
├── .env.production 开发环境属性配置
├── package.json 项目信息和依赖配置
├── vite.config.ts vite配置文件
└── windi.config.ts windcss配置文件
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Nuri Alfred - Deertech
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果