如何解决koa 中的 koa-router 路由错误
我正在通过基本练习学习 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)
要注意其他区别,路由器模块是一个需要实例化的类,上下文作为参数传递给请求处理程序。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。