vue history模式刷新页面进入404解决方案

2023-11-18

前言

vue 的路由模式严格意义上来讲有三种,但是常见的hash模式和history模式

  • 1,默认的路由模式
  • 2,hash模式,就是连接后边会跟#号
  • 3,history模式
    history模式的详细配置请移步官方文档vue路由history模式

文档里有说到history模式下如果后端,前端不做任何处理,刷新页面就会报404.
后端配置请看官方文档,这里只介绍一下前端需要配置的地方

接下来就谈谈如何解决。

第一步:如何切换history模式 在router.js中配置
const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes,
  // 切换路由后滚动条置顶
  scrollBehavior() {
    return {
      x: 0,
      y: 0
    }
  }
})

export default router
第二步在vue.config.js中加上如下配置
module.exports = {
    publicPath: '/',   //这个必须,引入静态资源需要从根路径引入,否则会找不到静态资源
    devServer: {
        // history模式下的url会请求到服务器端,但是服务器端并没有这一个资源文件,就会返回404,所以需要配置这一项
        historyApiFallback: {
            index: '/index.html' //与output的publicPath
        },
      },
}

总结

前后端同时做处理才不会在刷新找不到路径时进入404,这个总结仅限于切换为history是刷新进入404使用,如果还有特殊场景,还需要结合利用 history.pushState API来进行处理,后期有时间会更新。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue history模式刷新页面进入404解决方案 的相关文章

  • 如何恢复文本框数据

    我有一个小小的要求 我们已经恢复了之前清除的文本框数据 下面是我的 HTML 代码 table tr td td tr table
  • 当内部元素滚动位置到达顶部/底部时防止父元素滚动?

    我有一个小 浮动工具箱 一个带有position fixed overflow auto 效果很好 但是 当在该框内滚动 使用鼠标滚轮 并到达底部或顶部时 父元素 接管 滚动请求 工具框后面的文档滚动 这很烦人 而不是用户 要求的 我正在使
  • 三个JS,给纹理添加镜面反射(光泽)

    我有一个纹理应用于 Three js 中的对象 我想为其添加一些镜面反射或光泽 我看到这样的例子 new THREE MeshPhongMaterial color 0x996633 specular 0x050505 shininess
  • 如何使用多个 select2 框过滤表格?

    我正在尝试使用 和多个 select2 框的类来过滤表格 表格 HTML table class table tbody tr class kanban event Austin td td tr tr class csm event Ch
  • 在 Node.js 中生成带条形码的 pdf

    我在用https github com devongovett pdfkit https github com devongovett pdfkit生成 PDF 文件 我可以简单地使用类似的方法 app get get pdf req re
  • 为什么省略分号会破坏这段代码?

    或者换句话说 为什么分号插入失败 导致下面的代码被破坏 function Foo Foo prototype bar function console log bar lt missing semicolon function Foo pr
  • 使用 Ajax Jquery post 请求进行 Json 劫持

    昨天 我读了一些关于如何预防的好文章使用 Asp Net MVC 进行 Json 劫持 http haacked com archive 2009 06 24 json hijacking aspx 规则是 永远不要通过 get 请求发送
  • 有没有办法动态更改 jqGrid 的单元格值?

    这个问题可能已经被问过很多次了 但我想知道是否可以动态更改 jqgrid 的单元格值 我基本上有一个网格 它通过 JSON 字符串加载数据 在特定列的某些行上 该值可能为 null 因此 预先知道哪个行 ID 是一个问题 然后能够将 nul
  • Javascript 进程是否有多个执行线程?

    背景 我正在创建一个 地址簿 类型的应用程序 有很多条目需要加载 一个想法是首先加载一小部分条目 让用户开始 然后将剩余条目排队 优先考虑用户单击的条目 例如 如果他们单击以 X 开头的名称 请先加载这些名称 然后再处理队列的其余部分 这个
  • Javascript 将对象推送为克隆

    我将 d3 用于交互式网络应用程序 我需要绑定的数据在交互过程中发生变化 并且由 JSON 变量中的一些选定对象组成 为此 我在 JSON 变量上使用了映射 并进行了一些查询来选择适当的对象 对象被推送到列表中 并且该列表被绑定为新数据 我
  • 以下文档我无法创建 Vue.js 3 的实例

    The code https stackblitz com edit vue ttt file src main js https stackblitz com edit vue ttt file src main js 问题 我正在尝试在
  • Angular UI 路由器嵌套视图问题

    我在理解 Angular UI Router 嵌套视图的工作原理时遇到了一些问题 我的 stateProvider 看起来像这样 stateProvider state login url login views main template
  • 更新存储在 chrome 扩展本地存储中的对象

    我正在开发一个 chrome 扩展 我将存储服务器发送的对象 例如 我将收到 命令 id 1 类型 A 大小 B 优先级 C 如果我有一个数据库 我会将其作为表中的一行插入commands 使用 chrome storage 我将这些对象的
  • Javascript 作为对象键的函数与块中标记函数之间的语法冲突

    假设您有一个支持两者的浏览器带标签的函数声明 https developer mozilla org en US docs Web JavaScript Reference Statements label Labeled function
  • 如何显示接下来的三个图像单击加载更多按钮

    我需要一个加载更多按钮来显示图像 页面加载时 我显示 3 个图像 单击 加载更多 按钮后 接下来的 3 个图像将显示在屏幕上 我尝试了下面的代码 但它不起作用 你能帮我解决这个问题吗 function item slice 0 2 show
  • 播放没有音频标签的音频

    是否可以在没有音频标签的情况下仅使用 javascript 播放音频 我通过 tinyMce 编辑器注入脚本 因为我无权访问网站的后端 并且它不支持客户端的音频标签 她只想要当您将鼠标悬停在图像上时发出简单的声音 我已经完成了所有设置 但是
  • 如何从 CSS 选择器中提取类名?

    故事 我目前正在构建一个 ESLint 规则 以警告在 CSS 选择器定位器中使用引导布局导向和角度技术类 目前我在字符串方法中使用简单的子字符串 for var i 0 i lt prohibitedClasses length i if
  • 在反应中访问回调内的 event.target

    我有以下课程片段 constructor props super props this timeout null search e gt clearTimeout this timeout this timeout setTimeout f
  • Firebase + Node.js:错误:找不到 XMLHttpRequest 兼容性库

    Firebase Node js On iOS 安装的 Node js npm 安装 firebase save 节点测试 js 其中 test js 是一个非常简单的连接到 Firebase 的脚本 var firebase requir
  • Graphql 将多个查询合并(组合)为一个?

    我正在尝试使用 JavaScript 将多个 GraphQL 查询合并为一个查询 我正在寻找这样的东西 let query3 mergeQueries query1 query2 我们事先不知道哪些查询将被组合 假设我有这样的查询 输入查询

随机推荐

  • 数据结构与算法【Java】02---链表

    前言 数据 data 结构 structure 是一门 研究组织数据方式的学科 有了编程语言也就有了数据结构 学好数据结构才可以编写出更加漂亮 更加有效率的代码 要学习好数据结构就要多多考虑如何将生活中遇到的问题 用程序去实现解决 程序 数
  • 微信小程序申请 wx.getLocation 接口 审核一直不通过

    项目需要通过微信的 getLocation 获取本地的位置信息 经纬度 但是提交很多次审核都不通过 最后通过写了个项目里用不到的 导航功能 截图录屏才通过了审核 以下申请文案及配图仅供参考 因当前业务涉及就近医院挂号取号业务 需获取用户地理
  • python 使用pip install 手动安装本地包的方法

    Installing pystan manually fixed the issue otherwise it would just hang forever GitHub git clone https github com facebo
  • 【js中的单元测试】【30秒快速入门】

    什么是单元测试 测试是一种验证我们代码是否可以按预期工作的方法 换种说法就是写些代码来验证一段代码的正确性 被测试的对象可以是样式 功能 流程 组件等 单元测试是对软件中最小可测试单元进行检测和验证 单元测试能有效的提升工作效率 1 能监测
  • 常见swap()函数实现和细节讲解

    前言说明 swap 函数的作用是进行交换传入的两个值 本文都以整形int举例说明 且用C语言描述 常见的swap的实现方式有三种 格外一个空间的临时存放发 无格外空间的位运算异或法 无额外空间的加减法 主程序框架 include
  • 使用HAL库开发STM32:UART进阶使用

    文章目录 目的 发送处理 存在的问题 解决方法 个人常用处理方式 数据接收与解析 数据接收 数据解析 对于HAL库的吐槽 总结 目的 在前面文章 使用HAL库开发STM32 UART基础使用 中介绍的UART的基础使用 基础使用非常简单 不
  • U盘插入电脑后,有提示音,但不能显示出来,如何解决?

    导致此类问题的原因可能是用户的失误操作或者病毒的恶意修改等 1打开我的电脑 U盘没有显示出来 2打开控制面板单击选择设备和打印机 3在设备那一栏里会发现如图中已点击的图标 如果你的U盘没有改名字的话默认就是这个名字 有些品牌点击的U盘显示的
  • daily-timeline.js——打造每日时间轴

    最近因为需要在做会议室预约系统 其中需要用到一个显示当天预约情况的时间轴 去网上找了一下 发现只有和微博类似的历史时间轴 于是便自己动手做了一个当日时间轴控件 daily timeline js 实际使用效果如下 原理是Canvas的绘制
  • c语言中strcat函数的作用

    原型 extern char strcat char dest char src 用法 include
  • 在浏览器地址栏中输入地址后浏览器发生了什么?

    文章目录 前言 一 DNS查询 二 TCP连接 三 发送HTTP请求 四 服务器处理HTTP请求并返回HTTP报文 五 浏览器解析并渲染页面 六 HTTP连接断开 前言 当我们向浏览器的地址栏中输入一个网址并按下enter键之后 便可以跳转
  • MySQL 删除表数据,重置自增 id 为 0 的两个方式

    MySQL 删除表数据 重置自增 id 为 0 的两个方式 1 truncate table table name truncate table user 2 delete 配合 alter 语句 delete from table nam
  • Notepad++编辑过的行颜色设置 LocationNavigate.ini设置 高亮 黄色 绿色 修改的行变为黄色 修改的行高亮显示

    使用NotePad 修改的行会显示为橘黄色 保存之后 则显示为绿色 这两种颜色太亮了 想把色值调低 于是 展开搜索 发现这个功能是插件Location Navigate 带的 之后 找到了配置文件C Users xx AppData Roa
  • 阿里服务器怎么用教程[第一部分]

    第一步 登录我们的阿里云账号 第二步 根据自己的具体情况 选择好服务器的配置 比如你是大型企业 预估网站访问量很大 那么就要选配置较好的服务器 如果是个人网站 预估流量较小 就可以选择配置较低的云服务器 第三步 购买好云服务器后 我们在阿里
  • 使用 Python 实现 Excel 自动化

    使用 Python 实现 Excel 自动化 从 excel 过渡到 python 并提高您的工作效率 此视频教程共8 0小时 中英双语字幕 画质清晰无水印 源码附件全 课程英文名 Excel Automation Using Python
  • Scoop包管理工具

    不同系统下包管理工具 系统 工具 范例 备注 Arch Linux Pacman pacman S pyenv Built in CentOS RHEL yum yum install python wheel Built in Debia
  • Cocos2d-x 3.9教程:10.使用CocosStudio的UI编辑器从UI文件中加载布局和控件

    Cocos2d x 3 9教程 10 使用CocosStudio的UI编辑器从UI文件中加载布局和控件 1 1 使用CocosStudio的UI编辑器 1 1 1 安装和启动 从官网上下载2015年11月18日版本 Cocos studio
  • 谷歌浏览器输入url地址后http自动转https问题解决方法

    谷歌浏览器输入 http 域名 后自动变成 https 域名 格式原因 安装配置了 SSL证书后 浏览器开启了 HSTS HTTP Strict Transport Security 功能 它会告诉浏览器只能通过 https 访问 绝对禁止
  • Dagger2的使用以及原理分析

    使用 Dagger2的使用说起来并不难 关键在于要掌握Dagger2的提供的几个注解及其意思 环境搭建 在模块级的build gradle文件中加入如下依赖 plugins id com android application id org
  • C++:基于浅拷贝/深拷贝对模拟string类的一些优化

    文章目录 string类和日期类 浅拷贝 深拷贝 对于上述代码的深拷贝写法 正常版本和优化版本 写时拷贝 string类和日期类 前面我们已经实现了string类和日期类 这两个类有没有想过它们有什么不同 其实答案很明显 不同的地方在于st
  • vue history模式刷新页面进入404解决方案

    前言 vue 的路由模式严格意义上来讲有三种 但是常见的hash模式和history模式 1 默认的路由模式 2 hash模式 就是连接后边会跟 号 3 history模式 history模式的详细配置请移步官方文档vue路由history