1.安装koa2并安装koa2项目生成器
npm install koa --save
npm install koa-generator -g
2.安装node_modules
npm install
3.安装mongodb
去官网直接下载即可,并安装mongodb的可视化工具mongodb compass
4.创建文件启动服务
创建文件夹,在所在文件夹中创建log和db文件
C:\xxx\MongoDB\data\db
C:\xxx\MongoDB\log
C:\xxx\MongoDB\log\MongoDB.log
进入bin目录输入命令启动服务
cd C:\xxx\MongoDB\Server\3.4\bin
mongod -dbpath "C:\Program Files\MongoDB\data\db"
测试,打开端口27017页面上出现表示成功
4.打开可视化工具compass
点击connect按钮即可
可在里面进行创建文档
5.回到搭建完成的koa项目,安装可支持热更新的nodemon和mongoose
npm i -g nodemon
npm install mongoose --save-dev
6.创建db文件夹和index.js用来连接数据库
const mongoose = require('mongoose')
module.exports = () => {
//连接数据库地址下面所创建的文档
mongoose.connect('mongodb://localhost:27017/koa', {
useNewUrlParser: true
}).then(res => {
console.log('数据库连接成功!');
}).catch(err => {
console.log('数据库连接失败!' + err);
})
}
在app.js中引入db
const mongoose = require('./db')
mongoose()
7.通过查看package.josn文件使用有nodemon的启动命令
npm run dev
在服务中可以查看log 数据库连接是否成功
8.创建models文件夹,用来设置表头和获取数据库处理数据方法能力
const mongoose = require('mongoose')
//schema数据表模型
const userSchema = new mongoose.Schema(
//数据为表头数据列
{
username: String,
pwd: {
type: String,
},
})
// users为连接的文档名
const User = mongoose.model('users', userSchema)
//将User导出
module.exports = {
User
}
9.在routes文件夹中可以创建不同模块接口地址文件
例如创建use.js
const router = require('koa-router')()
//使用users来作为借口前缀
router.prefix('/users')
//需要创建control文件夹来管理各个路由所需的回调函数
const { loginCtl } = require('../controllor/userControl')
//创建login登录接口地址,loginCtl为所需要处理的函数
router.post('/login', loginCtl)
module.exports = router
10.创建control文件夹来管理各个路由所需的回调函数
例:创建userControl.js,
//引入创建好的User来提供数据库能力
const { User } = require('../models')
const loginCtl = async (ctx) => {
let { username, pwd } = ctx.request.body
await User.findOne({ username, pwd }).then(res => {
console.log(res);
if (res) {
ctx.body = {
code: 200,
token: token,
msg: '登录成功'
}
} else {
ctx.body = {
code: 300,
msg: '用户名或密码错误'
}
}
}).catch(err => {
ctx.body = {
code: 500,
msg: err
}
})
}
module.exports = {
loginCtl
}
在app.js中引入写好的路由
const users = require('./routes/users')
app.use(users.routes(), users.allowedMethods())
使用postman来测试接口
至此,你的第一个接口就已经写好了。
总结
Koa2 是基于 Node.js 平台的一个轻量化框架,是由 Express 原班人马打造的,本身不绑定任何中间件并支持 async 函数,Koa2 非常轻,开发起来很自由,简单易上手。
作为一个前端开发人员,有一定的后端开发能力,能够在与后端连调的时候更加的丝滑,对于数据结构也能有更深的理解,使用js来开发后端服务接口,做一个有开发全栈能力的程序猿吧!