我想在页面加载之前将某些用户组重定向到另一个 URL(外部),即使用中间件。
由于我在 ssr 模式下使用 nuxt 并通过
window.location.replace()
在布局/默认中重定向用户,因此您会看到“主站点”一秒钟。
这种中间件应该可以解决问题,并且您不会看到之前显示的任何内容,因为它将在渲染页面之前执行。
middleware/google.js
export default ({ redirect }) => {
if (myCoolCondition === 'cool') {
redirect('https://www.google.com')
}
}
要将其应用到特定组件/页面,请使用此
<script>
export default {
middleware: ['google']
}
</script>
这里是相关文档:https://nuxtjs.org/docs/2.x/directory-struction/middleware#named-middleware
您可以使用
navigateTo
方法,并将 external
选项设置为 true
,如下所示:
return navigateTo(EXTERNAL_URL, {
external: true
})