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

news2024/12/27 1:26:21

在传统的 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.coloradmin.cn/o/2252545.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Creating Server TCP listening socket *:6379: bind: No error

启动redis报错:Creating Server TCP listening socket *:6379: bind: No error 解决方案: 1、直接在命令行中输入 redis-cli.exe 2、输入shutdown,关闭 3、输exit,退出 4、重新输入 redis-server.exe redis.windows.conf&…

详解登录MySQL时出现SSL connection error: unknown error number错误

目录 登录MySQL时出错SSL connection error: unknown error number 出错原因 使用MySQL自带的工具登录MySQL 登陆之后,使用如下命令进行查看 解决方法 找到MySQL8安装目录下的my.ini配置文件 记事本打开my.ini文件,然后按下图所示添加配置 此时再…

AI在SEO中的应用与关键词优化探讨

内容概要 在当今数字化时代,人工智能(AI)技术为搜索引擎优化(SEO)带来了革命性的改变。传统的SEO主要依赖于人为的经验和判断,而AI则通过算法分析海量数据,提供更加精准和高效的方式优化关键词…

NLP任务四大范式的进阶历程:从传统TF-IDF到Prompt-Tuning(提示词微调)

引言:从TF-IDF到Prompt-Tuning(提示词微调),NLP的四次变革 自然语言处理(NLP)技术从最早的手工特征设计到如今的Prompt-Tuning,经历了四个重要阶段。随着技术的不断发展,我们的目标…

十四(AJAX)、AJAX、axios、常用请求方法(GET POST...)、HTTP协议、接口文档、form-serialize

1. AJAX介绍及axios基本使用 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content&q…

Javaweb梳理21——Servlet

Javaweb梳理21——Servlet 21 Servlet21.1 简介21.3 执行流程21.4 生命周期4.5 方法介绍21.6 体系结构21.7 urlPattern配置21.8 XML配置 21 Servlet 21.1 简介 Servlet是JavaWeb最为核心的内容&#xff0c;它是Java提供的一门动态web资源开发技术。使用Servlet就可以实现&…

如何在MySQL中计算两个日期的间隔天数

目录 1. DATEDIFF函数2. TIMESTAMPDIFF函数3. PERIOD_DIFF函数4. 函数对比 在MySQL 5.7中&#xff0c;计算两个日期之间的间隔天数是一项常见的任务。 1. DATEDIFF函数 DATEDIFF函数可以直接计算两个日期之间的天数差异。 -- 计算2024年1月1日和2024年1月10日之间的天数差异 …

React Native学习笔记(一)

一、创建ReactNative项目 1.1、指令创建 React Native 有一个内置的命令行界面&#xff0c;你可以用它来生成一个新项目。您可以使用 Node.js 附带的 访问它&#xff0c;而无需全局安装任何内容。让我们创建一个名为“AwesomeProject”的新 React Native 项目 npx react-nati…

VSCode中“Run Code”运行程序时,终端出现中文乱码解决方法

问题描述 在VSCode中“Run Code”运行程序时&#xff0c;终端输出结果出现中文乱码现象&#xff1a; 解决方法 1. 检查系统cmd的默认编码 查看Windows终端当前编码方式的命令&#xff1a; chcp输出结果是一段数字代码&#xff0c;如936&#xff0c;这说明当前的cmd编码方式…

Hive学习基本概念

基本概念 hive是什么&#xff1f; Facebook 开源&#xff0c;用于解决海量结构化日志的数据统计。 基于Hadoop的一个数据仓库工具&#xff0c;可以将结构化的数据文件映射为一张表&#xff0c;并提供类SQL查询功能 本质是将HQL转化为MapReduce程序。 Hive处理的数据存储在H…

css选择当前元素前面的一个元素

选择text-danger前面的ant-divider: .ant-divider:has( .text-danger) {display: none; }

嵌入式硬件面试题【经验】总结----会不断添加更新

目录 引言 一、电阻 1、电阻选型时一般从那几个方面考虑 2、上拉电阻的作用 3、PTC热敏电阻作为电源电路保险丝的工作原理 4、如果阻抗不匹配&#xff0c;有哪些后果 二、电容 1、电容选型一般从哪些方面进行考虑? 2、1uf的电容通常来滤除什么频率的信号 三、三极管…

阿里云人工智能平台(PAI)免费使用教程

文章目录 注册新建实例交互式建模(DSW)注册 注册阿里云账号进行支付宝验证 新建实例 选择资源信息和环境信息,填写实例名称 资源类型需要选择公共资源,才能使用资源包进行抵扣。目前每月送250计算时。1 * NVIDIA A10 8 vCPU 30 GiB 1 * 24 GiB1 * NVIDIA V100 8 vCPU 32 Gi…

泷羽sec-burp功能介绍(1) 学习笔记

声明&#xff01; 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&a…

不同云计算网络安全等级

导读云计算的本质是服务&#xff0c;如果不能将计算资源规模化/大范围的进行共享&#xff0c;如果不能真正以服务的形式提供&#xff0c;就根本算不上云计算。 等级保护定级流程 定级是开展网络安全等级保护工作的 “基本出发点”&#xff0c;虚拟化技术使得传统的网络边界变…

Electron-vue 框架升级 Babel7 并支持electron-preload webapck 4 打包过程记录

前言 我这边一直用的electron-vue框架是基于electron 21版本的&#xff0c;electron 29版本追加了很多新功能&#xff0c;但是这些新功能对开发者不友好&#xff0c;对electron构建出来的软件&#xff0c;使用者更安全&#xff0c;所以&#xff0c;我暂时不想研究electron 29版…

【工具变量】上市公司企业金融错配程度数据(1999-2022年)

一、测算方式&#xff1a;参考C刊《科研管理》赵晓鸽&#xff08;2021&#xff09;老师的研究&#xff0c;对于金融错配的测算&#xff0c;采用企业资本成本偏离行业平均资本成本的程度来作为企业金融错配的代理变量。其中使用财务费用中的利息支出与扣除了应付账款后的负债总额…

Qt入门6——Qt窗口

目录 1. QMenuBar 菜单栏 2. QToolBar 工具栏 3. QStatusBar 状态栏 4. QDockWidget 浮动窗口 5. QDialog 对话框 5.1 Qt内置对话框 1. QMessageBox 消息对话框 2. QColorDialog 颜色对话框 3. QFileDialog 文件对话框 4. QFontDialog 字体对话框 5. QInputDialo…

A058-基于Spring Boot的餐饮管理系统的设计与实现

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看项目链接获取⬇️&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600个选题ex…

【VUE3】npm : 无法加载文件 D:\Program\nodejs\node_global\npm.ps1,因为在此系统上禁止运行脚本。

npm : 无法加载文件 D:\Program\nodejs\npm.ps1。未对文件 D:\Program\nodejs\npm.ps1 进行数字签名。无法在当前系统上运行该脚本。有关运行脚本和设置执行策略的详细信息&#xff0c;请参阅 https:/go.microsoft.com/fwlink/?LinkID135170 中的 about_ Execution_Policies。…