后端基于 Node.js➕MongoDB➕Koa2 实现的完整服务端接口API
项目模块
MongoDB使用mongoose5.x,对应MongoDB server 需要v3.6+
一份完善的api文档,可以有效减少不必要的沟通时间,开发者可以把时间用在刀刃上,本项目api使用swagger自动生成,后端不需要开发完接口后再操心api文档的琐事
项目封装简单,易扩展,开发功能流程方便,可供新手学习,也可以快速上手二次开发
具体文件结构介绍见文件结构及说明表
帐号:admin
密码:12345678
$ git clone --depth=1 https://github.com/updata7/skynode.git
$ cd skynode
$ npm install
$ mv .env_exapmle .env
$ vi .env // 修改为自己环境所需配置
$ npm run dev
文件名 | 描述 |
---|---|
src/app.js | 入口文件 |
src/config | 环境配置文件,如端口号、MySQL、Redis、Mongo等设置 |
src/router | 存放客户端访问的路由文件,使用Joi进行参数验证,可限制接口get、post、put等请求方式,并且在此定义handler,即处理接口的入口函数 |
src/handler | 处理路由接口,可以说是前端与数据库的中间纽带 |
src/engine | 通过模型(model)直接操作数据库,暂时仅供mysql使用 |
src/model | 存储和检索表结构,提供增删改查等接口供handler访问,主要文件有mongoManger.js/baseMongo.js |
src/middleware | 中间件,swagger、路由验证、头部统一处理等 |
src/utils | 存放redis和通用函数等文件 |
src/dictionary | 存放常量字典 |
src/service | 存放定时器服务 |
database | 存放要初始化的数据,文件命名跟数据库表名一致即可(不需要考虑前缀) |
lock | 已经初始化的表结构会自动生成一个.lock文件,如果要重新初始化,可删除对应的.lock文件 |
public/front | 存放前端编译好后的静态文件,这样只需要运行后端的服务,不需要运行前端服务,就能完整运行后台管理系统的 |
running | 此文件夹存放上传或下载的文件,不会默认创建,但是需要的时候会自动创建,比如上次一个文件时会自动创建 |
node_modules | 所有npm依赖项 |
package.json | 包含npm依赖项以及 build scripts |
本项目会持续维护,如果对你有帮助的话,请你点一个星星 star 鼓励我,也可以请我喝杯果汁🍹
如果您有更好的建议和意见,请提出来告知我,可以留言 Issues或加我微信。希望能够帮助到你学习!
谢谢!共勉!