koa 中介軟體

2022-05-04 23:36:09 字數 2510 閱讀 6783

什麼是 koa 的中介軟體

通俗的講:中介軟體就是匹配路由之前或者匹配路由完成做的一系列的操作,我們就可以 把它叫做中介軟體。

在express中介軟體(middleware)是乙個函式,它可以訪問請求物件(requestobject(req)) , 響應物件(responseobject(res)), 和 web 應用中處理請求-響應迴圈流程中的中介軟體,一 般被命名為 next 的變數。

在 koa 中中介軟體和 express 有點類似。

如果我的 get、post **函式中,沒有 next 引數,那麼就匹配上第乙個路由,就不會往下匹 配了。如果想往下匹配的話,那麼需要寫 next()

koa 應用可使用的幾種中介軟體

應用級中介軟體 ,路由級中介軟體 ,錯誤處理中介軟體 ,第三方中介軟體

應用級中介軟體

比如下面在匹配任何路由之前都需要先驗證一些使用者是否有許可權訪問這個頁面,這裡demo只是列印一下當前時間

const koa = require('koa')

const router = require('koa-router')() //

引入和例項化路由

建立koa實列

console.log(

new date()) //

執行後在匹配任何乙個路由之前都會先執行一下這個中介軟體,不管這個路由存不存在

await next() //

當前路由匹配完成後繼續向下匹配

})//

配置路由

router.get('/', async (ctx, next) =>)

router.get('/news', async (ctx, next) =>);

console.log('starting at port 3000');

})

路由中介軟體

const koa = require('koa')

const router = require('koa-router')() //

引入和例項化路由

建立koa實列

//配置路由

router.get('/', async (ctx, next) =>)

//匹配到news路由以後繼續往下匹配路由

router.get('/news', async (ctx, next) =>);

router.get('/news', async (ctx) =>);

console.log('starting at port 3000');

})

錯誤處理中介軟體

const koa = require('koa')

const router = require('koa-router')() //

引入和例項化路由

建立koa實列

console.log('這是乙個中介軟體')

next();

console.log(ctx.status)

if(ctx.status==404)

})//

配置路由

router.get('/', async (ctx, next) =>)

router.get('/news', async (ctx) =>);

console.log('starting at port 3000');

})

koa 中介軟體的執行順序koa 的中介軟體和 express 不同,koa 選擇了洋蔥圈模型。

引入和例項化路由

建立koa實列

//匹配任何路由 ,如果不寫next,這個路由被匹配到了就不會繼續向下匹配

console.log('1、這是第乙個中介軟體01')

await next();

console.log('5、匹配路由完成以後又會返回來執行中介軟體')

}) console.log('2、這是第二個中介軟體02')

await next();

console.log('4、匹配路由完成以後又會返回來執行中介軟體')

})//

配置路由

router.get('/', async (ctx, next) =>)

router.get('/news', async (ctx) =>);

console.log('starting at port 3000')

})執行結果

koa 中介軟體

什麼是中介軟體 中介軟體是匹配路由之前或匹配路由完成做的一系列操作 中介軟體是乙個函式,它可以訪問請求物件和響應物件,和web應用中處理請求 響應迴圈流程 變數next,呼叫它,將控制權交給下乙個中介軟體函式 中介軟體的功能 koa中的幾種中介軟體 應用級中介軟體 路由級中介軟體 錯誤處理中介軟體 ...

koa 中介軟體

中介軟體就是匹配路由之前或者匹配路由完成做的一系列的操作,我們就可以把它叫做中介軟體。在express 中介軟體 middleware 是乙個函式,它可以訪問請求物件 request object req 響應物件 response object res 和web 應用中處理請求 響應迴圈流程中的中...

Koa中介軟體

koa 應用程式是乙個包含一組中介軟體函式的物件,它是按照類似堆疊的方式組織和執行的。當乙個中介軟體呼叫 next 則該函式暫停並將控制傳遞給定義的下乙個中介軟體。當在下游沒有更多的中介軟體執行後,堆疊將展開並且每個中介軟體恢復執行其上游行為。以上兩句話,是我在官方文件中找到其對 koa 中介軟體的...