iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >vue的两种路由模式源码分析
  • 882
分享到

vue的两种路由模式源码分析

2023-07-06 01:07:26 882人浏览 泡泡鱼
摘要

这篇文章主要介绍“Vue的两种路由模式源码分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue的两种路由模式源码分析”文章能帮助大家解决问题。哈希模式(hash)vue-router默认hash

这篇文章主要介绍“Vue的两种路由模式源码分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue的两种路由模式源码分析”文章能帮助大家解决问题。

哈希模式(hash)

vue-router默认hash模式,使用url的哈希(hash)来模拟一个完整的URL,当URL改变时,页面不会重新加载。

如下所示

Http://localhost/#home

特点: #号后面的参数不会传送给服务器,兼容性好,不会作为路径的一部分发送给服务器,也就是它不会包括在HTTP请求体中,对后端完全没有影响,只是我们前端同学自己玩

页面刷新时,会停留在当前页面,不会重新加载

如果觉得hash路径很丑,不简洁,我们可以用路由的history模式,这种模式充分利用history.pushState apireplaceState,来完成,url跳转而无需重新加载页面

历史模式

history模式:在实例化配置对象中添加mode模式,值为history就可以了的经过改造后,hash模式就会变成history模式

const router = new VueRouter({  mode: 'history',  routes: [...]})

这两种方式的使用都是没啥问题的,如果你在意浏览器url的颜值,#符号掺杂在url里看起来确实有些不优雅

如果你想url更好看,那么就使用history模式

但是:在hash模式下,使用hash符号之前的内容会被包含在请求体中,#号后面的不会发送给服务器

history模式下,前端的URL必须和实际向后端发起请求的URL保持一致

如:https://itclan.cn/fontend/id,如果后端缺少没有对/fontend/id的路由处理,那么它将返回404错误

如果你想要支持history模式,那么需要后端同学支持,想要彻底解决404的问题,需要与后端同学协商,因为需要后端与前端路由做匹配

在服务端增加一个覆盖所有情况的时候的候选资源,如果url匹配不到任何静态资源,应该返回一个首页页面

如果出现404,容易让用户觉得这是一个Bug

如何解决前台刷新页面404问题

解决这个问题:如果你用的是node做后端服务,那么在Node后台中可以加入一个中间件比如:connect-history-api-fallback即可解决这种404问题

如果是javaPHP,找后端同学,让后端路由与前端路由做匹配,或是用Ngnix做中间代理

如下这段简易的Node服务代码,可以命名为server.js,同时安装express以及connect-history-api-fallback中间件

启动后端服务执行命令node server.js

const express = require('express');const history = require('connect-history-api-fallback')const app = express()app.use(history())app.use(express.static(__dirname+'/static'));app.listen(5005,(err)=> {  if(!err)consle.log('服务器启动成功了')})

把前端打包生成的dist文件内的代码,放到static中,通过这一操作,即可解决刷新页面,404的问题

对单页面spa的应用理解

我们的前端使用的vue-router中的两种模式,就是单页面应用,整个应用只有一个router路由器,是可以通过$router属性获取到

也就是说,整个应用只有一个完整的页面,同时,点击页面中的导航链接,不会刷新页面,只会是页面的局部更新

而我们页面中的数据,往往需要通过ajax请求来获取

现在开发的新项目,都是前后端分离,基本上都是单页面应用

关于“vue的两种路由模式源码分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: vue的两种路由模式源码分析

本文链接: https://www.lsjlt.com/news/357346.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue的两种路由模式源码分析
    这篇文章主要介绍“vue的两种路由模式源码分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue的两种路由模式源码分析”文章能帮助大家解决问题。哈希模式(hash)vue-router默认hash...
    99+
    2023-07-06
  • vue路由的两种模式怎么实现
    这篇文章主要介绍“vue路由的两种模式怎么实现”,在日常操作中,相信很多人在vue路由的两种模式怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue路由的两种模式怎么...
    99+
    2024-04-02
  • vue-router路由模式的示例分析
    这篇文章将为大家详细讲解有关vue-router路由模式的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、路由模式解析要讲vue-router的路由模式,首先要...
    99+
    2024-04-02
  • 聊聊vue的两种路由模式(哈希和历史)
    路由器分别有两种模式:一种是hash模式、另一种是history模式,在使用vue-cli以及vue-router默认搭建的vue项目,如果不做特殊的配置,默认就是hash模式这两种模式各有自己的优势,但他们的使用区别,却多多少少都会在面试...
    99+
    2023-05-14
    Vue 前端 JavaScript
  • Vue中Router路由两种模式hash与history详解
    hash 模式 (默认) 工作原理: 监听网页的hash值变化 —> onhashchange事件, 获取location.hash 使用 URL 的 hash 来模拟一个完整...
    99+
    2024-04-02
  • vue中路由的两种模式以及实现原理
    Vue.js 是一种流行的前端框架,通过其优秀的路由管理模块实现了单页应用(Single-page Application,SPA)的开发。Vue 路由管理模块(Vue Router)具有两种模式:历史模式(History mode)和哈希...
    99+
    2023-05-23
  • Vue的三种路由模式总结
    目录路由模式解析1.hash模式2.history模式3.abstract模式路由三个基本概念vue中实现路由还是相对简单的vue-cli创建一个项目体验一下, 安装vue-rout...
    99+
    2024-04-02
  • vue前端路由以及vue-router两种模式实例详解
    目录前言1、什么是前端路由(1)后端路由阶段(2)前后端分离路由阶段(3)单页面应用阶段2、vue-router 提供了 hash 和 history 两种路由模式(1)hash模式...
    99+
    2024-04-02
  • Vue实现两种路由权限控制方式
    目录方式一:路由元信息(meta)方式二:动态生成路由表(addRoutes)路由权限控制常用于后台管理系统中,对不同业务人员能够访问的页面进行一个权限的限制。 对于无权限的页面可...
    99+
    2024-04-02
  • vue的几种路由模式有哪些区别
    这篇文章主要介绍了vue的几种路由模式有哪些区别的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue的几种路由模式有哪些区别文章都会有所收获,下面我们一起来看看吧。vue路由有三种模式:Hash、History...
    99+
    2023-07-05
  • 详解Vue路由传参的两种方式query和params
    Vue路由传参的两种方式query和params 一、router-link 1. 不带参数 <router-link :to="{name:'home'}"> <...
    99+
    2024-04-02
  • vue项目两种方式实现竖向表格的思路分析
    问题描述 在我们做项目中,常见的是横向表格,但是偶尔的需求,也会做竖向的表格。比如下图这样的竖向表格: 我们看到这样的效果图,第一时间想到的是使用UI框架,改一改搞定。但是饿了...
    99+
    2024-04-02
  • vue路由有哪几种模式有什么区别
    本教程操作环境:windows7系统、vue3版,DELL G3电脑。vue路由实际上存在三种模式:Hash: 使用URL的hash值来作为路由。支持所有浏览器。History: 以来HTML5 History API 和服务...
    99+
    2023-05-14
    Vue
  • 从vue-router看前端路由的两种实现
    目录模式参数 HashHistory HashHistory.push()HashHistory.replace()监听地址栏HTML5History 两种模式比较 his...
    99+
    2024-04-02
  • vue-router命名路由和编程式路由传参的示例分析
    这篇文章主要介绍vue-router命名路由和编程式路由传参的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!有时候,通过一个名称来标识一个路由显得更方便一些,特别是在链接一个...
    99+
    2024-04-02
  • vue-router路由的示例分析
    这篇文章将为大家详细讲解有关vue-router路由的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。官方文档:旧版:https://github.com/vuej...
    99+
    2024-04-02
  • Vue组合式API源码分析
    这篇“Vue组合式API源码分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue组合式API源码分析”文章吧。一. 为什...
    99+
    2023-07-05
  • vue中的vue-router路由模式有哪些
    这篇文章将为大家详细讲解有关vue中的vue-router路由模式有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。vue-router 路由模式有几种? Hash:&...
    99+
    2024-04-02
  • RabbitMQ路由方式实例代码分析
    这篇文章主要讲解了“RabbitMQ路由方式实例代码分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“RabbitMQ路由方式实例代码分析”吧!SpringBoot RabbitMQ 路由方...
    99+
    2023-06-26
  • vue路由划分模块并自动引入方式
    目录路由划分模块并自动引入创建路由文件vue-router模块划分问题路由整体结构1、区分线上和开发环境---config2、通用路由---common.js3、业务模块---mod...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作