nuxt3路由及路由拦截
配置
nuxt3没有专门的路由配置文件,是由文件目录自动生成路由
ssr
nuxt3会默认所有页面都是服务端渲染,如果需要设置某个页面不走服务端渲染,可以在nuxt.config.js中单独配置
routeRules: {'/home': { ssr: false },'/spa/**': { ssr: false }}
路由拦截
可以在middleware目录下新建js文件,并添加相应的路由拦截逻辑,nuxt会依次执行这些文件,比如登录拦截可以这样处理
export default defineNuxtRouteMiddleware((to, from) => {// 登录检查const token = useCookie('token')const needTokenPaths = ['/publish', '/message']if (!token.value && needTokenPaths.includes(to.path)) {ElMessage.error('用户未登录')return navigateTo('/home')}
})