Vue2:路由history模式的项目部署后页面刷新404问题处理

一、问题描述

我们把Vue项目的路由模式,设置成history
然后,build
并把dist中的代码部署到node+express服务中
访问页面后,刷新页面报404问题
在这里插入图片描述

二、原因分析

server.js文件
会发现,文件中配置的路径没有Vue项目中对应的路径
所以,刷新页面时,报404
这也是history模式的一个小问题。

const express = require('express')
const app = express()
app.use(express.static(__dirname+'/static'))app.get('/students',(request,response)=>{const students = [{id:'001',name:'tom',age:18},{id:'002',name:'jerry',age:19},{id:'003',name:'tony',age:120},]response.send(students)
})app.listen(5000,(err)=>{if(!err) console.log('服务器1启动成功了,请求学生信息地址为:http://localhost:5000/students');
})

三、解决

这个问题的本质,是请求路径在后端没对应上
所以,要解决这个问题,需要从后端代码着手

我这里用的是node+express部署项目
就这个情况,来解决

1、安装connect-history-api-fallback中间件

npm i connect-history-api-fallback

2、修改server.js
关键代码:

const history = require('connect-history-api-fallback')
app.use(history())

完整配置:

const express = require('express')
const history = require('connect-history-api-fallback')const app = express()
app.use(history())
app.use(express.static(__dirname+'/static'))app.get('/students',(request,response)=>{const students = [{id:'001',name:'tom',age:18},{id:'002',name:'jerry',age:19},{id:'003',name:'tony',age:120},]response.send(students)
})app.listen(5000,(err)=>{if(!err) console.log('服务器1启动成功了,请求学生信息地址为:http://localhost:5000/students');
})

重启项目,即可。
此时,刷新页面,不会报404问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/503658.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5GC SBA架构

协议标准:Directory Listing /ftp/Specs/archive/23_series/23.501/ (3gpp.org) NF描述说明NSSFNetwork Slice Selection Function网络切片选择,根据UE的切片选择辅助信息、签约信息等确定UE允许接入的网络切片实例。NEF Network Exposure Function网络开…

鸿蒙学习day1基础语法 基础变量类型

在这里插入图片描述 什么是变量:变量就是一些数据 如125,‘字符串数据’ 通过一个符号来表示 变量的定义 方法 let 变量名:变量类型 ’ 各种数据’ ,let是关键字,系统给的用来定义变量的 let name: string 张亚洲; let age: …

Xcode15与苹果ios17适配以及遇到的问题

大家好,我是你们的好朋友咕噜铁蛋!最近,苹果发布了全新的iOS17系统,而作为开发者,我们需要确保我们的应用程序能够与这个新系统完美适配。因此,今天我将和大家分享一些关于Xcode15与苹果17系统适配的经验&a…

Android修行手册-Chaquopy中opencv、numpy的初步应用

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分…

leetcode刷题(javaScript)——链表相关场景题总结

链表中的元素在内存中不是顺序存储的,而是通过next指针联系在一起的。常见的链表有单向链表、双向链表、环形链表等 在 JavaScript 刷题中涉及链表的算法有很多,常见的包括: 1. 遍历链表:从头到尾遍历链表,处理每个节点…

Sora引发安全新挑战

文章目录 前言一、如何看待Sora二、Sora加剧“深度伪造”忧虑三、Sora无法区分对错四、滥用导致的安全危机五、Sora面临的安全挑战总结前言 今年2月,美国人工智能巨头企业OpenAI再推行业爆款Sora,将之前ChatGPT以图文为主的生成式内容全面扩大到视频领域,引发了全球热议,这…

k8s单机部署zookeeper

(作者:陈玓玏) 拉取镜像:docker pull zookeeper;编辑yaml: apiVersion: v1 kind: Service metadata:name: zookeeperlabels:app: zookeeper spec:ports:- name: clientport: 2181protocol: TCPtargetP…

C++的引用

目录 引用 常引用 指针与引用的关系 小拓展 引用的价值 做形参 传值、传引用的效率比较 做返回值 函数传值返回 函数传引用返回(错误示范) 野引用(错误示范) 引用的正常应用 值和引用作为返回值类型的性能比较 引用和…

智慧回收与售后汽车平台架构设计与实现:打造可持续出行生态

随着汽车保有量的增加和环保意识的提升,汽车回收和售后服务成为了整个汽车产业链中不可或缺的一环。如何设计和实现一个智慧化的回收与售后汽车平台架构,成为了当前汽车行业关注的热点话题。本文将从需求分析、技术架构、数据安全等方面,探讨…

【Pytorch 第四讲】图像分类的Tricks

1. 标签平滑 在分类问题中,最后一层一般是全连接层,然后对应标签的one-hot编码,即把对应类别的值编码为1,其他为0。这种编码方式和通过降低交叉熵损失来调整参数的方式结合起来,会有一些问题。这种方式会鼓励模型对不同…

巧用眼精星票证识别系统将车辆合格证快速转为结构化excel数据,简单方便

眼精星票证识别系统是一款高效且精准的OCR软件,它的魔力在于能将纸质文档迅速转化为电子文档,并实现自动化的数据结构化处理。它拥有一双"火眼金睛",无论是各类发票、护照,还是车辆合格证等,都能一一识别。而…

幻兽帕鲁/Palworld服务器的最佳网络设置、内存和CPU配置是什么?

幻兽帕鲁/Palworld服务器的最佳网络设置、内存和CPU配置是什么? 对于4到8人的玩家,推荐的配置是4核16G的CPU和16G的内存。10到20人的玩家选择8核32G的CPU和32G或以上的内存。2到4人的玩家则建议选择4核8G的CPU和8G的内存。对于32人的玩家,推…