vue-Router 路由(常量路由)

1、安装

复制代码
pnpm i vue-router

2、新建文件:src/routes.ts

TypeScript 复制代码
import { RouteRecordRaw } from 'vue-router'

export const constantRoute: RouteRecordRaw[] = [
  {
    //
    path: '/',
    redirect: '/login',
  },
  {
    //
    path: '/login',
    component: () => import('@/views/Login/index.vue'),
    name: 'Login',
    meta: {
      title: '登录',
    },
  },
  {
    //登录成功展示数据的页面 main.vue
    path: '/layout',
    component: () => import('@/layout/index.vue'),
    name: 'layout',
    meta: {
      title: 'layout',
    },
  },
  {
    path: '/404',
    component: () => import('@/views/404/index.vue'),
    name: '404',
    meta: {
      title: '404',
    },
  },
  {
    // 任意路由(无效或者不存在的路径 跳转至404)
    path: '/:pathMatch(.*)*',
    component: () => import('@/views/404/index.vue'),
    name: 'Any',
    meta: {
      title: '任意',
    },
  },
]

3、新建文件:src/index.ts

TypeScript 复制代码
import { createRouter, createWebHashHistory } from 'vue-router'
import { constantRoute } from './routes'
const router = createRouter({
  history: createWebHashHistory(),
  routes: constantRoute,
  //   滚动行为
  scrollBehavior() {
    // ...
    return {
      left: 0,
      top: 0,
    }
  },
})

export const setupRouter = (app: any) => {
    app.use(router)
  }
export default router

4、main.ts 引入

TypeScript 复制代码
// 路由
import { setupRouter } from './router'
// 创建实例
const setupAll = async () => {
  const app = createApp(App)
  await setupRouter(app)
  app.mount('#app')
}

setupAll()

5、app.vue 中加入代码

以上完成 ,输入不同路径就可以跳转到对应页面了。

相关推荐
小陈工1 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
xiaotao1315 小时前
第九章:Vite API 参考手册
前端·vite·前端打包
午安~婉6 小时前
Electron桌面应用聊天(续)
前端·javascript·electron
彧翎Pro6 小时前
基于 RO1 noetic 配置 robosense Helios 32(速腾) & xsense mti 300
前端·jvm
小码哥_常6 小时前
解锁系统设置新姿势:Activity嵌入全解析
前端
之歆7 小时前
前端存储方案对比:Cookie-Session-LocalStorage-IndexedDB
前端
哟哟耶耶7 小时前
vue3-单文件组件css功能(:deep,:slotted,:global,useCssModule,v-bind)
前端·javascript·css
是罐装可乐7 小时前
深入理解“句柄(Handle)“:从浏览器安全到文件系统访问
前端·javascript·安全
华科易迅7 小时前
Vue如何集成封装Axios
前端·javascript·vue.js
康一夏7 小时前
Next.js 13变化有多大?
前端·react·nextjs