node.js常用中间件

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的使用,一般是两个中间件配合使用。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值