使用'koa-router',app.use(路由器(app))抛出"需要生成器函数"错误信息

Ric*_*ick 6 javascript koa

var app = require('koa')();
var router = require('koa-router');

app.use(router(app));
Run Code Online (Sandbox Code Playgroud)

抛出此错误:

AssertionError:app.use()需要生成器函数

很多示例代码都说这样设置koa-router.它应该为koa应用程序添加方法.

Jam*_*ore 7

koa-router软件包改变了几个月后删除了扩展应用程序对象的功能,正如你在上面编写的那样...它曾经以这种方式工作,但这是一个重大改变:

http://github.com/alexmingoia/koa-router/issues/120.

以下是您现在如何设置路线的示例:

var app = require('koa')();
var router = require('koa-router');

// below line doesn't work anymore because of a breaking change
// app.use(router(app));

var api = router();

api.get('/', function *(){
    this.body = 'response here';
});

app
  .use(api.routes())
  .use(api.allowedMethods());

app.listen(3000);
Run Code Online (Sandbox Code Playgroud)