koa2用法简述

koa是一个web框架,接收http请求,返回http响应。

一般用法

一般的用法如下:

var koa = require('koa');//导入koa模块
var app = koa();
//中间件处理业务
app.use(function *(){
  this.body = 'Hello World';
});
//接收http响应,监听端口3000
app.listen(3000);

中间件

其中主要的部分在于中间件,也就是app.use()函数。这一部分是真正实现业务功能的地方,也是编程最主要的地方。而且中间件是可以级联的,如下:

app.use(function *(next){
  var start = new Date;
  yield next;
  var ms = new Date - start;
  this.set('X-Response-Time', ms + 'ms');
});

// logger

app.use(function *(next){
  var start = new Date;
  yield next;
  var ms = new Date - start;
  console.log('%s %s - %s', this.method, this.url, ms);
});

// response

app.use(function *(){
  this.body = 'Hello World';
});

当遇到yield next时,koa会暂停当前中间件,转而执行下一个符合请求的中间件,执行完毕之后再继续执行当前中间件。

注意,中间件的执行顺序就是声明的顺序。

上下文

koa将request和response封装在一个上下文对象中,在本文的例子中就是this对象。这个上下文对象提供了许多方法供我们开发时使用。

你可能感兴趣的:(nodeJs)