body-parser
用于接收前端发送post请求传过来的数据。
var bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json()) //app为express框架实例对象。
//在路由里使用req.body即可接收到前端传过来的数据。
koa-bodyparser
koa框架里用来接收前端发送post请求传过来的数据。
var bodyParser = require('koa-bodyparser');
app.use(bodyParser()); //app为express框架实例对象。
//因为koa中路由传入的是一个ctx对象,所以要用ctx.request.body来接收数据。
cors
cors模块用来解决前端向后台发送请求时跨域问题。
app.use(cors()) //app为express框架实例对象。
mongoose
mongoose模块用于操作mongodb数据库
const mongoose = require("mongoose");
mongoose.connect("mongodb://127.0.0.1:27017/project", { useNewUrlParser: true, useUnifiedTopology: true });
md5
对数据进行加密,一般用于密码加密。
var md5 = require('md5');
md5(data); //data为要加密的数据。
koa-router
koa路由,koa路由需要另外引入,这点与express不同,express框架里有内置的路由Router,只需express.Router()即可引入路由。
const Router = require("koa-router");
const router = new Router();
app.use(router.routes()).use(router.allowedMethods()) //app为kua框架实例对象
module.exports = router.routes(); //当要把路由模块暴露时,需要暴露router.routes()
validator
用于各种验证,可以配合自己封装的方法使用。
module.exports = function isEmpty(error) {
return error == undefined ||
error === null ||
(typeof error == "object" && Object.keys(error).length === 0) ||
(typeof error == "string" && error.trim().length === 0)
}
const validator = require('validator');
const isEmpty = require('./is-empty');
module.exports = function validateLoginInput(data) {
let error = {};
//密码验证
if (!validator.isLength(data.password, { min: 6, max: 30 })) {
error.password = "密码的长度只能在6到30之间";
}
if (validator.isEmpty(data.password)) {
error.password = "密码不能为空";
}
//邮箱验证
if (!validator.isEmail(data.email)) {
error.email = "邮箱格式不正确";
}
if (validator.isEmpty(data.email)) {
error.email = "邮箱不能为空";
}
return {
error,
isValidate: isEmpty(error)
}
}
koa-passport
jsonwebtoken
用于token的使用,一般是两个中间件配合使用。