從0開始搭建koajs項目(koa-router 的使用)
上一篇文章中的代碼運行之后就只能訪問一個localhost:9000?
咱們整個主題是圍繞做一個博客項目開展,最終是要寫多個api接口的,這個時候就需要用到路由
比如現(xiàn)在我需要寫一個/list的接口
可以使用koa-router進行路由的創(chuàng)建
在根目錄下創(chuàng)建文件夾 routes ,在該文件夾下創(chuàng)建index.ts
內(nèi)部寫如下代碼將router導出
將當前書寫的路由在入口文件app.ts文件內(nèi)引入路由
這個路由可以使用app.use方法使用
app.use()?將給定的中間件方法添加到此應(yīng)用程序。app.use()
?返回?this
, 因此可以鏈式表達.
app.ts的代碼可以寫成下面這樣的
app.use(function) 就是將一個個的方法作為中間件push到類似于堆棧中去,然后依次執(zhí)行傳入到app.use里面的方法,而這個app.use這個方法最終會將this再返回出去,所以app.use方法也可以采用鏈式調(diào)用的方法進行使用
index.routes()這個是將index.ts中書寫的路由傳遞到堆棧中進行執(zhí)行
index.allowedMethods()中間件,主要用于405 Method Not Allowed 這個狀態(tài)碼相關(guān)
如果不加這個中間件,如果接口是get請求,而前端使用post請求時,會返回404狀態(tài)碼,接口未定義,如果加了這個中間件,這種情況時,就會返回Method Not Allowed也就是不允許這樣調(diào)用
下圖是不加index.allowedMethods() 這個中間件之后,前端采用post請求之后的結(jié)果,顯示找不到

加了該中間件之后,再次使用post調(diào)用該請求就會是下圖中的

通過這兩張圖的對比,相信大家可以對routes.allowedMethods() 中間件有了比較深入的了解!這一篇關(guān)于路由的內(nèi)容就講解到這里,下一篇文章再對路由的其他功能展開詳細介紹