如何在unplugin-vue-router的extendsRoutes内部定义重定向?

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

我想从 vite-plugin-pages 迁移到 unplugin-vue-router。在我的 vue3 项目的路由器文件夹中,我在基于 vite-plugin-pages 的路由文件夹中定义了以下路由配置,如下所示:

**
 * Route configuration
  const router = createRouter({
  history: createWebHistory(),

  routes: [
    // ℹ️ We are redirecting to different pages based on role.
      {
      path: "/",
      redirect: (to) => {
        const isLoggedIn = isUserLoggedIn();

        if (isLoggedIn) {
          return { name: "dashboards-analytics" };
        }

        return { name: "home" };
      },
    },
    ...setupLayouts(routes),
  ],
  scrollBehavior() {
    return { top: 0 };
  },
});

我正在寻求使用 unplugin-vue-router 来代替,并在此插件中实现上述方法。 我该怎么办?

vuejs3 vue-router vite vite-plugin-pages
1个回答
0
投票

我和你有同样的情况。我就是这样解决的。希望这可以帮助你。

const router = createRouter({
  history: createWebHistory(),
  extendRoutes: routes => [
    {
      path: '/',
      redirect: to => {
        const authStore = useAuthStore()
        const { isLogged } = storeToRefs(authStore)

        return isLogged.value ? 
          { name: 'home' } : 
          { name: 'login', query: to.query }
      },
    },
    ...setupLayouts(routes),
  ],
})
© www.soinside.com 2019 - 2024. All rights reserved.