82 lines
2.5 KiB
TypeScript
82 lines
2.5 KiB
TypeScript
import { createRouter, createWebHistory } from 'vue-router'
|
||
|
||
/**
|
||
* 路由缓存机制:
|
||
* 1. 设置路由的meta属性为{ cache: true },表示需要缓存
|
||
* 2. App.vue中使用RouteCache组件,通过路由的name来进行匹配
|
||
* 3. 路由的name默认是文件名,如果文件名与name不一致,通过defineOptions({ name: 'componentName' })来设置
|
||
*/
|
||
const router = createRouter({
|
||
history: createWebHistory('/'),
|
||
// history: createWebHistory(import.meta.env.VITE_APP_URL),
|
||
routes: [
|
||
{
|
||
path: '/',
|
||
redirect: '/index'
|
||
},
|
||
{
|
||
path: '/index',
|
||
name: 'index',
|
||
component: () => import('../views/login/index.vue')
|
||
},
|
||
{
|
||
path: '/login',
|
||
name: 'login',
|
||
component: () => import('../views/login/login.vue')
|
||
},
|
||
{
|
||
path: '/register',
|
||
name: 'register',
|
||
component: () => import('../views/login/register.vue')
|
||
},
|
||
{
|
||
path: '/nuic',
|
||
name: 'nuic',
|
||
component: () => import('../views/nuic/index.vue')
|
||
},
|
||
{
|
||
path: '/home',
|
||
name: 'home',
|
||
component: () => import('../views/home/index.vue'),
|
||
children: [
|
||
{
|
||
path: 'test/:id',
|
||
name: 'test',
|
||
component: () => import('../views/home/test.vue'),
|
||
meta: { topNavStyle: '2' }
|
||
},
|
||
{
|
||
path: '/home/versionTree',
|
||
name: 'versionTree',
|
||
component: () => import('../views/home/VersionTree.vue'),
|
||
meta: { topNavStyle: '2' }
|
||
},
|
||
{
|
||
path: 'mainInput',
|
||
name: 'mainInput',
|
||
component: () => import('../views/home/mainInput.vue')
|
||
},
|
||
{
|
||
path: 'canvas',
|
||
name: 'canvas',
|
||
component: () => import('../views/canvas/index.vue'),
|
||
meta: { topNavStyle: '2' }
|
||
},
|
||
{
|
||
path: 'agent',
|
||
name: 'agent',
|
||
component: () => import('../views/home/agent/index.vue')
|
||
}
|
||
]
|
||
},
|
||
|
||
{
|
||
path: '/:pathMatch(.*)',
|
||
name: '404',
|
||
component: () => import('../views/404.vue')
|
||
}
|
||
]
|
||
})
|
||
|
||
export default router
|