04-封装路由初始化方法

先改造 main.ts

ts 复制代码
import { createApp } from 'vue'
import App from './App.vue'
import { initRouter } from './router'

const app = createApp(App);
// 初始化路由
initRouter(app);
app.mount('#app')

调整 router 配置文件,不导出 router ,而是导出一个 initRouter 函数的方式去初始化

ts 复制代码
import {
    createRouter,
    createWebHashHistory,
    type RouteRecordRaw
} from 'vue-router'
import { type App } from 'vue'

const routes: RouteRecordRaw[] = [
    {
        path: '/login',
        name: 'login',
        component: () => import('../views/login/login.vue')
    }
]

const router = createRouter({
    history: createWebHashHistory(),
    routes // 路由配置
})

export const initRouter = (app: App<Element>) => {
    app.use(router)
}
相关推荐
Irene19911 天前
通用消息组件 bug 修复及更好的实现是使用函数调用组件
vue3·函数调用·通用消息组件
Irene19912 天前
Vuex4:专为 Vue 3 设计,提供完整 TypeScript 支持
vue3·vuex4
无法长大2 天前
如何判断项目需不需要用、能不能用Tailwind CSS
前端·css·vue.js·elementui·vue3·tailwind css
cui_win3 天前
企业级中后台开源解决方案汇总
开源·vue3·ts
Sapphire~4 天前
Vue3-19 hooks 前端数据和方法的封装
前端·vue3
記億揺晃着的那天4 天前
Vue3 动态路由在生产环境才出现白屏的排查与解决(keep-alive 踩坑实录)
vue3·vue router·动态路由·生产环境报错
kong79069288 天前
Vue3快速入门
前端·vue3
无法长大9 天前
Mac M1 环境下使用 Rust Tauri 将 Vue3 项目打包成 APK 完整指南
android·前端·macos·rust·vue3·tauri·打包apk
淡笑沐白10 天前
Vue3使用ElementPlus实现菜单的无限递归
javascript·vue3·elementplus
Sapphire~10 天前
Vue3-18 生命周期(vue2+vue3)
vue3