import { createRouter, createWebHashHistory, RouteRecordRaw } from "vue-router"; export const Layout = () => import("@/layout/index.vue"); // 静态路由 export const constantRoutes: RouteRecordRaw[] = [ { path: "/redirect", component: Layout, meta: { hidden: true }, children: [ { path: "/redirect/:path(.*)", component: () => import("@/views/redirect/index.vue"), }, ], }, { path: "/login", component: () => import("@/views/login/index.vue"), meta: { hidden: true }, }, // { // path: "/", // name: "/", // component: Layout, // redirect: "/dashboard", // children: [ // { // path: "dashboard", // component: () => import("@/views/dashboard/index.vue"), // name: "Dashboard", // 用于 keep-alive, 必须与SFC自动推导或者显示声明的组件name一致 // // https://cn.vuejs.org/guide/built-ins/keep-alive.html#include-exclude // meta: { // title: "dashboard", // icon: "homepage", // affix: true, // keepAlive: true, // alwaysShow: false, // }, // }, // { // path: "401", // component: () => import("@/views/error-page/401.vue"), // meta: { hidden: true }, // }, // { // path: "404", // component: () => import("@/views/error-page/404.vue"), // meta: { hidden: true }, // }, // ], // }, { path: "/:pathMatch(.*)*", // 必备 component: () => import("@/views/error-page/404.vue"), }, // 外部链接 // { // path: "/external-link", // component: Layout, // children: [ { // component: () => import("@/views/external-link/index.vue"), // path: "https://www.cnblogs.com/haoxianrui/", // meta: { title: "外部链接", icon: "link" }, // }, // ], // }, // 多级嵌套路由 /* { path: '/nested', component: Layout, redirect: '/nested/level1/level2', name: 'Nested', meta: {title: '多级菜单', icon: 'nested'}, children: [ { path: 'level1', component: () => import('@/views/nested/level1/index.vue'), name: 'Level1', meta: {title: '菜单一级'}, redirect: '/nested/level1/level2', children: [ { path: 'level2', component: () => import('@/views/nested/level1/level2/index.vue'), name: 'Level2', meta: {title: '菜单二级'}, redirect: '/nested/level1/level2/level3', children: [ { path: 'level3-1', component: () => import('@/views/nested/level1/level2/level3/index1.vue'), name: 'Level3-1', meta: {title: '菜单三级-1'} }, { path: 'level3-2', component: () => import('@/views/nested/level1/level2/level3/index2.vue'), name: 'Level3-2', meta: {title: '菜单三级-2'} } ] } ] }, ] }*/ ]; /** * 创建路由 */ const router = createRouter({ history: createWebHashHistory(), routes: constantRoutes, // 刷新时,滚动条位置还原 scrollBehavior: () => ({ left: 0, top: 0 }), }); /** * 重置路由 */ export function resetRouter() { router.replace({ path: "/login" }); } export default router;