/module
そのディレクトリの下の一致するルートに対して実行される機能をいくつか追加したいと思います。
したがって、特定の一連のルートについては次のようになります。
/module/
/module/page
/module/things
/module/things/:thingid
/module
上記のすべてのルートに対して実行するルーターのコードが必要です。/module
はレンダリングせず、一般的なデータを取得してビュー コンテキストを構成するだけです。次に、他のルートの 1 つが実行され、ページがレンダリングされます。
これはkoa-routerで可能ですか?または、より良いパッケージはありますか?
編集:ネストされたルーターを実行し、ネストの前にミドルウェアを追加する必要があると思います:
var subRouter = new Router();
subRouter.get('/', function *(next){ doSomething(); });
subRouter.get('/page', function *(next){ doSomething(); });
subRouter.get('/things', function *(next){ doSomething(); });
subRouter.get('/things/thingid', function *(next){ doSomething(); });
mainRouter.use('/module',
function *(next) { doPreRouteSteps(); yield next; },
subRouter.routes()
);
動作しているようですが、これが醜いハックなのかどうかはわかりません。良い方法があればアドバイスお願いします。