nodejs学习(8)koa路由的匹配

来源:互联网 发布:黑人软件 编辑:程序博客网 时间:2024/05/18 07:31

1、引入所需模块

var Koa = require("koa");var router = require("koa-router")();

2、使用方式

var app = new Koa();app.use(async (ctx,next)=>{    await next();})app.use(router.routes());//koa框架的中间件的方式比较搞笑,就是直接执行一个app.use()之后,再执行下一个app.use(),下个app.use就是代表第一个中的next参数,它是一个函数。

3、如果使用router.routes(),必须先定义好它的routes,定义方式类似于这样:

router.get("/",async (ctx,next)=>{    ctx.response.body = '<h1>hello world!!</h1>'})

其中,get是代表的请求方式。
ctx除了response属性外,还有request属性,res和req是之前express框架使用的方式,而koa把它给封装到ctx中。

4、一个简单的koa-router示例demo。

const Koa = require("koa");const router = require("koa-router")();const app = new Koa();app.use(async (ctx,next) => {    console.log(`${ctx.request.method} ${ctx.request.url}`);    await next();})router.get('/hello/:name',async (ctx,next) => {    var name = ctx.params.name;    ctx.response.body = `<h1>Hello,${name}!</h1>`;});router.get("/", async (ctx,next) => {    ctx.response.body = `<h1>index</h1>`;})app.use(router.routes());app.listen(3000);console.log(`app started at port 3000`);
原创粉丝点击