如何使用Nuxt中间件重定向到外部站点?

问题描述 投票:0回答:2

我想在页面加载之前将某些用户组重定向到另一个 URL(外部),即使用中间件。
由于我在 ssr 模式下使用 nuxt 并通过

window.location.replace()
在布局/默认中重定向用户,因此您会看到“主站点”一秒钟。

vue.js redirect nuxt.js middleware server-side-rendering
2个回答
9
投票

这种中间件应该可以解决问题,并且您不会看到之前显示的任何内容,因为它将在渲染页面之前执行。

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


0
投票

您可以使用

navigateTo
方法,并将
external
选项设置为
true
,如下所示:

return navigateTo(EXTERNAL_URL, {
  external: true
})

参考:https://nuxt.com/docs/api/utils/navigate-to#external-url

© www.soinside.com 2019 - 2024. All rights reserved.