将所有其他请求重定向到索引页面

时间:2018-10-29 15:35:45

标签: node.js jwt koa

来自https://github.com/koajs/jwt

app.use(jwt({ secret: 'shared-secret' }));

用于保护后面的路由。

问题:如何仅针对已定义的一组路由指定它,如果没有匹配的路径,则如何重定向到静态html页面。

我当前的代码:

app
    .use(indexRouter.routes())
    .use(jwt({secret: conf.secret }))
    .use(protectedRouter.routes())
    .use((ctx: any)=> ctx.body='My html page'); <-- this doesn't work because it is considered a protected route

预期的伪代码:

app.use(indexRouter.routes())
        .use(protectedRouter.routes(), jwt({secret: conf.secret }))
        .use((ctx: any)=> ctx.body='My html page'); 

1 个答案:

答案 0 :(得分:0)

由于我的受保护路线都在“ api”路线下,因此我这样做是这样的:

.use(indexRouter.routes())
.use(async (ctx: Context, next: () => void) => {
  if (ctx.path.substring(0,5) === '/api/'){
    await next();
  }else{
    ctx.body='My html page'
  }
})
.use(jwt({secret: conf.secret}))
.use(protectedRouter.routes());