import Vue from "vue"; import VueRouter from "vue-router"; import HomeLayout from "@/layout"; import Home from "@/views/home"; import Search from "@/views/home/search"; import Detail from "@/views/home/detail"; import baseLayout from "@/layout/base"; const originalPush = VueRouter.prototype.push VueRouter.prototype.push = function push(location) { return originalPush.call(this, location).catch(err => err) } Vue.use(VueRouter); const routes = [{ path: "/", name: "HomeLayout", component: HomeLayout, redirect: { name: "home" }, children: [ // 在主框架内 { path: "home", name: "home", meta: { name: "首页", authentication: false, // 是否需要登录验证 keepAlive: false, // 是否需要缓存 }, component: baseLayout, redirect: { name: "index" }, children: [{ path: "index", name: "index", meta: { name: "首页", authentication: false, // 是否需要登录验证 keepAlive: false, // 是否需要缓存 }, component: Home, }, { path: "search", name: "search", meta: { name: "首页搜索", authentication: false, // 是否需要登录验证 keepAlive: true, // 是否需要缓存 }, component: Search, }, { path: "detail", name: "detail", meta: { name: "详情", // authentication: false, // 是否需要登录验证 // keepAlive: true, // 是否需要缓存 }, component: Detail, }, ], }, { path: "/login", name: "login", meta: { name: "登录", authentication: false, }, component: () => import("@/views/login/login"), }, { path: "/register", name: "register", meta: { name: "注册", authentication: false, }, component: () => import("@/views/login/register"), }, ], }, // 不在主框架内 { path: "/findPassword", name: "findPassword", meta: { name: "登录", }, component: () => import("@/views/login/findPassword"), }, ]; const router = new VueRouter({ routes, }); export default router;