当前位置: 首页 > news >正文

Vue前端开发-路由的基本配置

在传统的 Web 页面开发过程中,可以借助超级链接标签实现站内多个页面间的相互跳转,而在现代的工程化、模块化下开发的Web页面只有一个,在一个页面中需要实现站内各功能页面渲染,相互跳转,这时些功能的实现,都需要依赖路由来完成。

基本配置

在 Vue 3中,配置路由之前需要先安装路由,并且安装的版本必须是4.0以上,因此,在vue-cli中,通过下列命令来安装路由模块:

npm install -g vue-router@4.1.6

上述命令中,-g表示全局安装,@可以指定安装模块的版本号。

路由模块安装成功后,接下来就可以配置路由,配置的方法是:先在项目的src文件夹下添加一个名称为router的新文件夹,并在该文件夹中添加一个名称为index的js文件,作为路由模块的配置文件,目录结构如下所下图8-1所示:
在这里插入图片描述
与Vue2一样,路由的管理通常都在src/router目录下,如果路由配置不多,则只需要一个index.js文件来管理,如果是Vue2,则在该文件中加入如清单8-1所示代码:

代码清单8-1 index.js代码

import VueRouter from 'vue-router'
const routes = [// ...
]
const router = new VueRouter({mode: 'history',base: process.env.BASE_URL,routes,
})
export default router

在上述代码中,通过 new 的方式实例化一个路由对象,并且在实例化对象时,使用mode选项配置访问路径模式,base选项设置history模式下,路由切换时的基础路径;而在Vue3中,简化了创建路由时的配置项,代码如下清单8-2的所示:

代码清单8-2 index.js代码

import { createRouter, createWebHistory } from 'vue-router'
const routes = [// ...
]
const router = createRouter({history: createWebHistory(process.env.BASE_URL),routes 
})
export default router	

在上述代码中,通过createRouter 函数来创建一个新路由对象,在创建对象时,使用 history 来代替 Vue 2 中的mode选项,同时合并了base选项,将base选项的值作为模式函数createWebHistory的参数来传入。

需要说明下,路由的访问模式分为两种,hash和history,前者模式访问路径带#号符,支持所有的浏览器,如“http://abc.com/#/list”,而后者模式访问路径不带#号符,并且只有主流的浏览器支持,同时,还需要后端做相应的配置,如“http://abc.com/list”。

此外,如果项目不是部署在根目录下,而是二级、三级目录中,那么,就必须通过base选项来指定具体的目录,否则,路由在切换时将会报错,base选项默认值是“/”,表示在根目录下部署,该值也可以设置为相对路径,如“./”,这样就可以部署在任意目录下。

**注意:**如果项目比较复杂,路由比较多,则需要在router文件夹中再添加一个routes.js文件,用于管理各模块的路由配置。
在这里插入图片描述

http://www.lryc.cn/news/496217.html

相关文章:

  • HarmonyOS JSON解析与生成 常用的几个方法
  • Docker 进阶指南:常用命令、最佳实践与资源管理
  • 【前端】特殊案例分析深入理解 JavaScript 中的词法作用域
  • Jmeter进阶篇(29)AI+性能测试领域场景落地
  • 理解和应用 Python Requests 库中的 .json() 方法:详细解析与示例
  • docker 运行my-redis命令
  • cloudstack概要及单节点安装部署
  • Android Gradle 相关
  • SpringMVC:入门案例
  • LuaForWindows_v5.1.5-52.exe
  • 密码学实验工具--Cryptool2
  • 量化交易系统开发-实时行情自动化交易-8.1.TradingView平台
  • Vue2 常见知识点(二)
  • SAP-ABAP开发-第二代增强示例
  • UDP 协议与端口绑定行为解析:理解 IP 地址和端口的绑定规则
  • 【Vue3】【Naive UI】<n-message>标签
  • C++ 变量和常量:开启程序构建之门的关键锁钥与永恒灯塔
  • Linux部分实用操作
  • Linux笔记---进程:进程地址空间
  • flutter in_app_purchase google支付 PG-GEMF-01错误
  • “精神内耗”的神经影像学证据:担忧和反刍会引发相似的神经表征
  • Linux--Debian或Ubuntu上扩容、挂载磁盘并配置lvm
  • 【k8s】kubelet 的相关证书
  • 01-树莓派基本配置-基础配置配置
  • 【Windows 11专业版】使用问题集合
  • 前端 vue3 + element-plus + ts 组件通讯,defineEmits,子传父示例
  • 【Django-xadmin】
  • Ubuntu24.04初始化教程(包含基础优化、ros2)
  • 45 基于单片机的信号选择与温度变化
  • #JAVA-常用API-爬虫