Appearance
目录结构
⭐⭐⭐⭐⭐
下面为后端项目的目录结构
src
├───app.module.ts --------------------------- 根模块
├───main.ts --------------------------------- 启动文件
├───common
│ ├──common.entity.ts --------------------- 公共字段(id、createTime等)
│ ├──common.dto.ts ------------------------ 公共入参(IdDTO、QueryDTO等)
│ ├──common.vo.ts ------------------------- 公共返回数据(Pagination、 commonField等)
│ ├──auth.guard.ts ------------------------ JWT守卫
│ └──permission.guard.ts ------------------ 权限守卫
├───config
│ ├──env.config.ts ------------------------ 环境读取配置
│ ├──jwt.config.ts ------------------------ JWT配置
│ └──typeorm.config.ts -------------------- TypeORM配置
├───decorator ------------------------------- 自定义装饰器
│ ├──permission.decorator.ts -------------- 权限设置
│ ├──admin.decorator.ts ------------------- JWT和权限装饰器的集合
│ ├──clientIp.decorator.ts ---------------- 获取客户端真实IP
│ ├──member.decorator.ts ------------------ 会员信息
│ ├──user.decorator.ts -------------------- 后台用户信息
│ └──userAgent.decorator.ts --------------- 获取用户设备信息
├───filters --------------------------------- 过滤器
│ └──http-execption.filter.ts ------------- 全局异常过滤器
├───interceptor ----------------------------- 拦截器
│ └──transform.interceptor.ts ------------- 请求成功的全局拦截器(定义返回的数据结构)
├───swagger
│ └──index.ts ----------------------------- swagger配置及初始化
├───util ------------------------------------ 公共方法
├───modules --------------------------------- 页面
│ ├──blog --------------------------------- 博客相关接口
│ ├──website ------------------------------ 后台站点维护相关接口
│ │ ├──moduleA
│ │ │ ├──moduleA.module.ts ------------- 模块配置
│ │ │ ├──moduleA.entity.ts ------------- 数据表实体映射
│ │ │ ├──moduleA.controller.ts --------- 控制器
│ │ │ ├──moduleA.service.ts ------------ 服务层
│ │ │ ├──moduleA.dto.ts ---------------- 入参
│ │ │ ├──moduleA.vo.ts ----------------- 返回数据
│ │ │ ├──moduleA.controller.spec.ts ---- 单元测试
│ │ │ └──moduleA.service.spec.ts ------- 单元测试
│ │ ├──moduleB
│ │ └──moduleC
│ ├──personnel ---------------------------- 后台人事管理相关接口
│ ├──system ------------------------------- 后台系统设置相关接口
│ └──dashboard ---------------------------- 后台控制台相关接口
package.json -------------------------------- npm包管理
nest-cli.json ------------------------------- nest脚手架配置项
.env.development ---------------------------- 开发环境配置
.env.production ----------------------------- 正式环境配置
.env.test ----------------------------------- 测试环境配置