/Mikey

这是参加腾讯全国小程序比赛的项目的公共后端库 Based On TS-NODE + Koa + MongoDB + Mocha TEST

Primary LanguageTypeScript

Mikey

这是参加腾讯全国小程序比赛的项目的公共后端库

技术栈

应用环境

Nodejs v 9.11.1

TypeScript v 2.8.3

核心应用环境

Koa v 2.5.0

MongoDB v 3.6.4

Mocha v 5.1.1

目录结构

├── @types                  --- 自动生成的类型定义文件
├── dist                    --- 编译生成的js文件
├── app
│   ├── middlewares         ---  中间件
│   ├── controllers         ---  控制器
│   ├── utils               ---  帮助工具集
│   ├── jobs                ---  定时任务
│   ├── models              ---  数据库 model for ORM
│   └── services            ---  controller 与 model 的粘合层 类似于Java的DAO,封装了些公共逻辑
├── config
│   ├── environments        ---  环境变量以及配置
│   └── routers             ---  路由配置文件
└── test
    └── apis                ---  测试用例

基本架构


                                                                         
                                                           取得APP配置信息  |--------> production.ts
                                                          |-------------> |--------> development.ts
                                                          |               |--------> test.ts
                                |-------------------------|------------------------------------|
                                |                     MIKEY APP                                |
                                |                                                              |
                                |                                           |->Restful Core    |
    |-------|                   |                |--->Router--->Controller->|->Utils Handle    |
    |       |                   |                |                      ^   |->Render HTML     |
    |       |    HTTP REQUEST   |                |                      ^                      |
    |  USER |     ---------->   |   中间件parse ->|--->Logger            ^                      |
    |       |                                    |                      |----Service 注入       |
    |       |                   |                |--->ErrorHandle                              |
    |-------|                   |                                                              |
                                |                                                              |
                                |                                                              |
                                |--------------------------------------------------------------|