# 目录结构
框架目录约定规范如下:
.
├── app
├ ├── app.js # 应用实际入口文件
├ ├── cluster.app.js # 应用实际入口文件(cluster 模式的时候)
├ ├── controllers # Controller 文件存放目录
├ ├── extends # Koa 4 个内置对象扩展存放目录
│ │ ├── application.js # Koa Application 对象扩展(可选)
│ │ ├── context.js # Koa Context 对象扩展(可选)
│ │ ├── request.js # Koa Request 对象扩展(可选)
│ │ └── response.js # Koa Response 对象扩展(可选)
├ ├── middlewares # 中间件存放目录
├ ├── routers # 路由文件存放目录
│ │ ├── default.js
├ ├── services # Service 文件存放目录
├ └── views # HTML 模板文件存放目录
├── app.yaml # 指定使用的 Node 版本及入口文件(Docker 部署需要用到)
├── bin
├ ├── start.js # 约定应用启动文件(虚拟机部署需要用到)
├── client # 前端源码文件存放目录
├── config
│ ├── config.daily.js # Daily 环境配置文件(可选)
│ ├── config.default.js # 默认配置文件
│ ├── config.development.js # 本地开发环境配置(可选)
│ ├── config.perf.js # 性能压测环境配置文件(可选)
│ ├── config.pre.js # 预发环境配置文件(可选)
│ ├── config.prod.js # 生产环境配置文件(可选)
│ ├── config.qa.js # QA 环境配置文件(可选)
│ ├── middleware.default.js # 默认中间件配置文件
│ └── plugin.default.js # 默认插件配置文件
├── package-lock.json
├── package.json
├── plugins # 插件存放目录
├── run # 运行时输出的一些配置信息
│ ├── config.json # 应用启动后的配置对象
│ ├── controllers.json
│ ├── dirs.json # 应用启动后遍历的目录列表
│ ├── libs.json # 应用启动后对外暴露的 Lib 函数库列表
│ ├── middlewares.json # 应用启动后中间件配置对象
│ ├── routers.json # 注册的所有路由
│ └── services.json # 应用启动后对外暴露的所有服务列表
└── static # 前端编译后代码存放目录
文件 | 应用 | 框架 | 插件 |
---|---|---|---|
app/controllers | ️✔ | ||
app/extends | ✔ | ✔ | ✔ |
app/lib | ✔ | ✔ | ✔ |
app/middlewares | ✔ | ✔ | ✔ |
app/routers | ✔ | ||
app/services | ✔ | ✔ | ✔ |
app/views | ✔ | ✔ | |
config/config.default.js config/config.${env}.js | ✔ | ✔ | ✔ |
config/plugin.default.js config/plugin.${env}.js | ✔ | ✔ | ✔ |
config.middleware.default.js config.middleware.${env}.js | ✔ | ✔ | ✔ |