koa-router紹介

1468 ワード

スプリングMVCの9つのコンポーネントの中で、とても重要なコンポーネントがあります.このコンポーネントの役割はurlプロセッサマッピングです.nodeJsでは、この機能を担当するのは、koa-routerというモジュールです.
koa-routerの使い方
まず、package.jsonプロファイルにkoa-router依存性を追加し、npm installコマンドの負荷依存を実行します.
アプリ.jsにkoa-routerモジュールを導入します.
const router=require('koa-router')
routerのgetまたはpost方法を使用してhttp要求を受信し、対応する関数を呼び出すことができる.router.get('/path',async fn)またはrouter.post('/path',async fn)のように.
最後に、次のコードを追加して、routerをapオブジェクトの上に登録する必要があります.
app.use(router.routes());
このようにして、routerにurlと処理関数の間のマッピングを引き継ぐことができます.本当のアクセス経路に関心を持つ必要はありません.
しかし、post要求を処理する時、koaはhttp要求体のデータを解析できないので、もう一つのモジュールを導入する必要があります.これをkoa-bodyparserといいます.
bodyparserを導入した後、appオブジェクトに登録し、routerの前に登録してから、routerのpost要求の処理関数でhttp要求体のデータを取得することができます.
get要求コードの例:
'use strict'const Koo=require('koa')const router=require('koa-router')//ウェブアプリ自体を表すKooaオブジェクトを作成します.任意の要求に対して、appは非同期関数処理要求を呼び出します.ap.use(async(ctx,next)=>{    consolie.log(ctx.request.path+':'+ctx.request.method)    await next()///add url-route:router.get('/hello/:name',async(ctx,next)=>{    var name=ctx.params.name;    ctx.reponse.body=`Hello、{name}router.get('/',async(ctx,next)=>{    ctx.reponse.body='Index');app.use(router.routes()//ポート3000で傍受:ap.listen(3000);consolie.logs('ap started at 3000…')
post要求例は、koa-bodyparserモジュールの導入が必要な場合を除き、他には区別がない.コードは貼りません.