最好用的koa2+mysql的RESTful API脚手架,mvc架构,支持node调试,pm2部署。

这是一个基于Koa2的轻量级RESTful API Server脚手架,支持ES6和TypeScript,集成MySQL数据库,采用MVC模式。提供开发、测试、生产环境配置,内置跨域、代理转发等功能。支持VSCODE调试,使用PM2进行部署,并详细说明了JWT身份验证的实现。
摘要由CSDN通过智能技术生成

#基于webpack构建的 Koa2 restful API 服务器脚手架

这是一个基于 Koa2 的轻量级 RESTful API Server 脚手架,支持 ES6, 支持使用TypeScript编写。

GIT地址:https://github.com/Allenzihan/koa2-mysql-framework.git
此脚手架只安装了一些配合koa2使用的必要插件,不仅提供RESTful API实现,同时也集成了对静态资源的处理,支持跨越,代理转发请求等基础功能。基本上您仅需要关注您的业务开发即可。

脚手架可以根据不同的环境配置不同的信息运行价值,支持开发,测试,生产环境的不同参数配置。

#数据库选型MySQL

当然你也可以根据需要配置其他的关系型数据库,可扩展 sequelize.js 作为 PostgreSQL, MySQL, MariaDB, SQLite, MSSQL 关系型数据库的 ORM,本框架使用MVC分成模式实现,事例上通过SQL去实现对数据库的增、删、查、改操作。

目录结构说明


├── README.md
├── .babelrc                    # Babel 配置文件
├── .gitignore                  # Git 忽略文件列表
├── package.json                # 描述文件
├── process.config.js           # pm2 部署示例文件
├── bin                         # bin入口目录
│   └── www                     # 启动文件入口
├── .vscode                     # VS CODE 调式目录
│   └── launch.json             # 调试配置
├── config                      # 配置文件
│   ├── db.config.js            # 数据库配置文件
│   ├── logger.config.js        # 日志配置文件
│   ├── proxy.config.js         # 代理配置文件
│   └── session.config.js       # session配置文件
├── src                         # 源代码目录,编译后目标源代码位于 dist 目录
│   ├── app.js                  # 入口文件
│   ├── files                   # 存放文件目录
│   ├── middleware              # 中间件目录
│       └── errorRouteCatch.js  # 示例插件 -  router异常处理
│   ├── utils                   # 工具类目录
│   ├── controllers             # 控制器
│       └── usersController.js  # 示例users控制器
│   ├── models                  # 模型层
│   ├── routes                  # 路由层
│         └── users.js          # 示例users路由
│   └── services                # 服务层
│         └── usersService.js   # 示例users服务层
├── public                      # 静态资源目录
└── logs                        # 日志目录

开发使用说明

git clone https://github.com/Allenzihan/koa2-mysql-framework.git
 

cd mv koa2-mysql-framework
npm install
npm run dev
 

访问: http://127.0.0.1:3000/home

开发调试说明

支持VSCODE调试 Node.js功能,已经配置好, 启动VSCODE IDE 上的Debug按钮即可调试

开发环境

npm run dev

PM2 部署说明

提供了 PM2 部署 RESTful API Server 的示例配置,位于“process.config.js”文件中。

process.config.js 文件提供了两套环境的配置,分别是测试环境和生产环境的配置

启动测试环境:
npm run uat

如果启动失败,使用pm2 直接启动
pm2 start process.config.js --only uat

启动生产环境:
npm run prod

如果启动失败,使用pm2 直接启动
pm2 start process.config.js --only prod

以上使用pm2启动,需提前安装好pm2模块
PM2 配合 Docker 部署说明: http://pm2.keymetrics.io/docs/usage/docker-pm2-nodejs/

关于 Token 使用的特别说明(JWT 身份认证)

app.use(jwt({
secret: publicKey.toString()
}).unless({
path: [
/^/users/login/,
/^/home/,
/^/assets/
]
}))

在 path 里面的开头路径则不进行身份认证,否则都将进行 鉴权。

前端处理方案:

import axios from 'axios'
import {
    getToken } from './tool'
 

const DevBaseUrl 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值