Koa从零搭建到Api实现项目的搭建方法

2020-06-17 06:55:45易采站长站整理

koa-router – 路由

后面的内容会讲解每个插件有什么用,如何去用。

目录详解

config

config是我们的配置文件,比如:

数据库(mysql,oracle,redis等)
OSS

实际运用:

confirg

database.config.js(新建)

database.config.js


export default {
database: '',
username: '',
password: '',
dialect: '',
host: '',
port: 3306
}

具体配置之后会跟大家仔细讲解。

models

models文件夹主要是我们的数据库模型(ORM),存储数据库映射文件,eg:

models

index.js – 入口文件
user.js – 对应数据库中的user表

index.js


import Sequelize from 'sequelize'
import config from '../config/database.config'
const sequelize = new Sequelize(config)
export const user = sequelize.import(__dirname + '/user')
export default {
user,
sequelize
}

以下序号代表代码行号:

引入sequelize,它是一个ORM框架,之后会详细讲解它的使用
引入我们之前在config中创建的数据库配置文件呢
使用sequelize连接数据库
将本地数据库映射文件导出供我们使用

controller

controller为控制层,主要处理外部请求。调用service层,将service返回的内容整合后返回给调用方

举例:


const user = require('../service/user')
const findAllUser = async (ctx) => {
const data = ctx.request.body
const result = await user.findAllUser(data)
ctx.body = send({data: result})
}
module.exports = {
findAllUser
}

以下序号代表代码行号:

获取请求体
调用service层
将service返回的内容返回给调用者(send是自定义的数据格式化方法)

service

service作为服务层主要做相信的业务逻辑处理,数据处理等,将结果返回给controller层

举例:


const db = require('../models/')
const findAllUser = async () => {
const result = await db.user.findAll()
return result
}
module.exports = {
findAllUser
}

以下序号代表代码行号:

获取数据库映射文件,因为要操作数据库
从数据库中查寻全部用户(db.user.findAll()为sequelize中提供的查询方法)
返回给controller

routers

router管理我们的路由,也就是接口地址

举例:


const user = require('../controller/user')
const koa_router = require('koa-router');
const router = koa_router();