koa的搭建使用及常用中间件

简单介绍
说到Koa我们会想到Express,他们都是基于nodejs的框架,Koa 相对更为年轻, 是 Express 原班人马基于 ES6 新特性重新开发的框架,框架自身不包含任何中间件,很多功能需要借助第三方中间件解决,但是由于其基于 ES6 generator 特性的异步流程控制,支持 async/await 。
优点:1.轻量级 2.简洁 3.同步异步的处理 4.try catch异常捕获


Koa 依赖 node v7.6.0 或 ES2015及更高版本和 async 方法支持.
npm install koa
app.js

const Koa = require('koa');
const app = new Koa();
 
// (node v7.6+) 支持 asnyc  await
app.use(async (ctx, next) => {
  const start = Date.now();
  await next();
  const ms = Date.now() - start;
  console.log(`${ctx.method} ${ctx.url} - ${ms}ms`);
});

//低版本(node v7.6-) 
app.use((ctx, next) => {
  const start = Date.now();
  return next().then(() => {
    const ms = Date.now() - start;
    console.log(`${ctx.method} ${ctx.url} - ${ms}ms`);
  });
});
 
app.listen(3000);

命令行执行 node app.js
浏览器运行 http://127.0.0.1:3000/就可以了


也可以在package.json中的script里配置
命令行执行 npm run koa也可以达到同样效果

 "scripts": {
    "koa": "node app.js"
  },

每收到一个http请求,koa就会调用通过app.use() 注册的async函数,ctx是由koa传入的封装了requestresponse的变量,我们可以通过它访问requestresponsenextkoa传入的将要处理的下一个异步函数。
上面的异步函数中,我们首先用await next();处理下一个异步函数,然后,设置responseContent-Type和内容。
async标记的函数称为异步函数,在异步函数中,可以用await调用另一个异步函数,这两个关键字将在ES7中引入。


koa之所以更轻便是因为自身不带任何中间件,所以我们需要自己安装需要的中间件
1.koa-router 或者 koa-route
2.koa-bodyparser 或者 koa-body
3.koa-views
4.koa-static
5.koa-compress
6.koa-logger 或者 koa-bunyan-logger

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值