nextjs的路由和koa

这边有一点是需要认识到的就是,koa和next之间的结合,正常来说我们在使用nextjs的时候,已经被提供了一个server足以让整个next项目运行期俩,那么为什么我们还要引入koa?
因为我们需要解决一些问题:
动态路由:比如:www.xxxx.com/a/1 一但刷新,那么就意味着404的错误会发生,
但是这个是make sense的,因为page里面本来就没有a/1这个文件

所以这里我们就要koa来作为中间件来帮助我们解决这个问题

'''
router.get('/a/:id', async (ctx) => {
const id = ctx.params.id;
await handler(ctx.req, ctx.res, {
pathname:'/a',
query: {id}
})
ctx.response = false
})
server.use(router.routes())
'''

上面的这段koa就会帮助我们
当访问了/a/id, koa的服务器就会辅助我们把router里面的事情在做一遍,这样就能帮助整个系统来找到这个动态的路径

你可能感兴趣的:(nextjs的路由和koa)