koa常用的中间件

  1. koa-bodyparser 中间件

    可以把 POST 请求的参数解析到ctx.request.body

    //安装
    cnpm i koa-bodyparser --save
    //使用demo
    const Koa = require('koa')
    const bodyParser = require('koa-bodyparser')
    let app = new Koa()
    app.use(bodyParser())
    app.use(async ctx => {
    	if(ctx.method === 'POST' && ctx.url === '/'){
    		let postData = ctx.request.body;
    		ctx.body = postData;
    	}
    })
    app.listen(3000)
    
  2. koa-router中间件

  3. koa-static中间件 和 koa-views中间件

    koa-static 是专门用于加载静态资源的中间件,通过它可以为页面请求加载 css JavaScript 等静态资源。
    而 koa views用于加载 HTML 模板文件

//安装
cnpm i koa-static --save
cnpm i koa-views --save
//demo
const Koa = require('koa')
const static = require('koa-static')
const views = require('koa-views')
const bodyParser = require('koa-bodyparser')
const path = require('path')
const Router = require('koa-router')
const app = new Koa()
const router = new Router()
//加载模板
app.use(views(path.join(__dirname,'./views'),{
	extension:'ejs'
}))
//加载静态资源
app.use(static(
	path.join(__dirname,'./static')
))
//渲染模板
router.get('/',async ctx => {
	await ctx.render('index')
})
router.post('/',async ctx => {
	let postData = ctx.request.body;
	ctx.body = postData;
})
app
.use(bodyParser())
.use(router.routes())
.use(router.allowedMethods()) //对异常状态码的处理
app.listen(3000)

4、koa-better-body中间件

接受多部分表单数据文件和字段

const body = require('koa-better-body');
let server = new Koa();
server.listen(8081);
//中间件
server.use(body({
    uploadDir:path.resolve(__dirname,'./static/upload')
}));

//使用的话通过以下来接收数据
ctx.request.fields

5、koa-ejs中间件

后端渲染

6、await-fs中间件

const fs = require('await-fs');
router.post('/login',async ctx=>{
    let {user,pass}=ctx.request.fields;
    let admins=JSON.parse((await fs.readFile(
        path.resolve(__dirname,'../../admins.json')
    )).toString());
    ctx.body=admins;
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值