处理Nuxt3路由不正确(SSR)

331 阅读1分钟

日常开发可能会碰到路由的访问虽然符合定义的路由情况,但是可能中间的内容并不符合我们的预期,比如/list/:id/:detail,有的时候可能用户可能访问的是/list/%2D%3F/asfeerer,此时查看network可能给到的状态是500

我们可以才去两种方法处理:

1、定义NuxtRouteMiddleware

export default defineNuxtRouteMiddleware((to, from) => {
    if (!to.matched.length) {      throw createError({ statusCode: 404, fatal: false });
    }
})

2、使用definePageMeta

definePageMeta({
    validate: (route) => {return /\d+/.test(route.params.id)}
})

以上两种方法都能使状态码变为404,然后展示错误页面