Nuxt的路由守卫
程序员文章站
2022-03-08 16:43:22
...
在plugins
下面新建路由守卫文件routeguard.js
,在里面写如下代码
export default ({ app }) => {
app.router.beforeEach(async (to, from, next) => {
console.log('to:',to.path);
console.log('from', from.path);
})
}
之后在nuxt.config.js
里添加
plugins: [
'~/plugins/routeguard'
]
这样,路由守卫就生效了。
注意
需要说的是,一开始进入网站或者刷新的时候,上面打印出来的内容是在服务端的控制台看到的,因为Nuxt是服务端渲染,只要你在浏览器通过手动输入url来访问站点,一开始的渲染是在服务端完成的,但是,当你进入站点后,通过nuxt-link
来跳转页面,上面路由守卫打印的内容是在浏览器的控制台,因为SSR,只是在一开始有起作用,而其后是SPA的形式来完成页面跳转