koa 中的 koa-router 路由错误

wrong routing with koa-router in koa

我正在学习 Koa,通过基本练习,但是我无法实现一个简单的路由,使用我从这个 page 获得的代码,这就是我所做的:

var koa = require('koa');
var router = require('koa-router'); //require it
var app = new koa();
var ro = router();
//and we'll set up 2 routes, for our index and about me pages
ro.get('/hello', getMessage);

function *getMessage() {
    this.body = "Hello world!";
 };
app.use(ro.routes());
app.listen(8008);
console.log('Koa listening on port 8008');

我没有收到任何特定错误,因为应用程序 运行 使用命令 node index.js,但我可以在我路由的页面中看到任何打印。

我的文件夹 myproyectoks 中只有 1 个文件,它是 index.js,这就是我正在处理的文件。

任何你需要的信息请问我:D,因为我可能会忘记一些东西。

示例已过时 - Koa 中间件是基于 promise 的,生成器函数将不再直接工作。 router documentation 建议采用以下形式:

const Koa = require('koa')
const Router = require('@koa/router')

const router = new Router()
router.get(
    '/hello', 
    ctx => ctx.body = 'Hello world!'
)

const app = new Koa()
app.use(router.routes())

app.listen(8008)

要注意其他差异,路由器模块是一个 class,需要实例化,上下文作为参数传递给请求处理程序。