javascript - 使用 'koa-router' , app.use(router(app)) 抛出 "requires a generator function"错误信息

标签 javascript koa

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

app.use(router(app));

抛出这个错误:

AssertionError: app.use() requires a generator function

很多示例代码都说要以这种方式设置 koa-router。据推测,它向 koa 应用程序添加了方法。

最佳答案

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);

关于javascript - 使用 'koa-router' , app.use(router(app)) 抛出 "requires a generator function"错误信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31333410/

相关文章:

javascript - 将元素插入两个 Div

javascript - 使用 Apache 作为后端 JavaScript (Strapi) 服务器的代理

javascript - 如何在KOA中编写公共(public)模块?

node.js - Koa:如何获取 cookie 的到期日期

ecmascript-harmony - Co.js 和 bluebird.js —— 有什么区别?

javascript - 模式弹出窗口未显示在另一个模式弹出窗口之上

javascript - 空闲时滚动?

javascript - flowjs上传方法未定义

node.js - 如何仅在使用特定路由时在 Koa 中指定静态文件夹?

javascript - 使用来自 Firebase 的数据时,卸载组件出现 setState 错误