Vue Router 入门指南:从零开始实现前端路由管理

Vue Router 是 Vue.js 官方提供的路由管理库,它让我们可以轻松地在 Vue 应用中实现"多页面"导航效果。本文将手把手教你如何使用 Vue Router,构建一个具有多个视图页面的单页应用(SPA)。


🧭 一、什么是 Vue Router?

Vue Router 是 Vue.js 的官方路由管理工具,用于构建单页应用(SPA)。它允许我们在多个"页面"之间切换,而无需刷新浏览器。

特点包括:

  • 像浏览网页一样使用 URL 控制视图

  • 支持嵌套路由、动态路由、命名路由等

  • 支持编程式导航、路由守卫

  • 与 Vue 生态无缝集成

来源 Vue Router 官网:router.vuejs.org/zh/


🔧 二、安装 Vue Router

如果你在使用 create-vue 初始化项目时没有勾选 Router,现在可以手动添加。

✅ 安装方式:

css 复制代码
npm install vue-router@4

Vue 3 对应 Vue Router 版本是 v4,请勿混用 v3(用于 Vue 2)。


📁 三、目录结构建议

bash 复制代码
src/
├── views/              # 页面级组件
│   ├── HomeView.vue
│   └── AboutView.vue
├── router/             # 路由配置文件
│   └── index.js
├── App.vue
└── main.js

📄 四、配置 Vue Router

1️⃣ 创建

router/index.js

javascript 复制代码
// src/router/index.js
import { createRouter, createWebHistory } from 'vue-router'

import HomeView from '../views/HomeView.vue'
import AboutView from '../views/AboutView.vue'

const routes = [
  {
    path: '/',
    name: 'Home',
    component: HomeView
  },
  {
    path: '/about',
    name: 'About',
    component: AboutView
  }
]

const router = createRouter({
  history: createWebHistory(),
  routes
})

export default router

2️⃣ 在

main.js

中注册路由

javascript 复制代码
// src/main.js
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'

const app = createApp(App)

app.use(router)
app.mount('#app')

3️⃣ 修改

App.vue

xml 复制代码
<!-- src/App.vue -->
<template>
  <div>
    <h1>Vue Router 示例</h1>
    <nav>
      <router-link to="/">首页</router-link> |
      <router-link to="/about">关于</router-link>
    </nav>
    <router-view />
  </div>
</template>

router-link 用于导航,router-view 用于展示当前页面组件。


🧪 五、运行测试

运行项目:

arduino 复制代码
npm run dev

打开浏览器访问:

你可以在不刷新页面的情况下进行导航,这正是单页应用的优势。


🔀 六、常用功能一览

功能 示例 说明
编程式导航 router.push('/about') JS 代码中跳转
动态路由 /user/:id 参数化页面,如用户详情
路由守卫 beforeEach() 拦截未登录用户访问特定页面
懒加载组件 component: () => import(...) 减少初始包体积
嵌套路由 子路由 children: \[\] 实现子页面导航

📚 七、参考文献


✅ 八、总结

本文我们学习了:

  • Vue Router 的基本概念
  • 如何手动安装并配置路由
  • 如何使用 router-link 和 router-view 实现导航
  • 基本的页面跳转与路由结构

如果你觉得本文对你有帮助,欢迎点赞 + 收藏 + 关注 🙌

相关推荐
天蓝色的鱼鱼23 分钟前
关于 CSS 你可能不知道的属性,但关键时刻很有用
前端·css
泯泷1 小时前
第 2 篇:设计第一套字节码:Opcode、Instruction 与 Constant Pool
前端·javascript·安全
妙码生花1 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十五):优化细节、网络请求封装
前端·后端·ai编程
泯泷1 小时前
第 1 篇:从 1 + 2 开始:亲手写出第一台 JSVM
前端·javascript·安全
团团崽_七分甜1 小时前
Spring Boot 核心知识点总结
前端
lichenyang4532 小时前
从一个按钮开始,理解 ASCF 框架到底在做什么
前端
古夕2 小时前
第三方 SSO 接入实践:redirect_uri 编码、回调一致性与跨项目联调
前端·vue.js
朦胧之2 小时前
页面白屏卡住排查方法
前端·javascript
用户593608741402 小时前
Playwright 黑魔法:用 ClipboardEvent 绕过 React 富文本编辑器
前端
Ruihong2 小时前
Vue withDefaults 转 React:VuReact 怎么处理?
vue.js·react.js·面试