路由器的两种工作模式及快速通过express搭建微型服务器流程,解决刷新页面服务端404的问题

news/2024/5/21 21:21:52/文章来源:https://blog.csdn.net/weixin_64612659/article/details/130137863

history模式与hash模式

首先这个#叫做hash,最大的特点就是不会随的http请求,发给服务器。

默认的模式是hash模式,如果想要修改,可以在router里面的index.js中配置mode属性,

 

它们俩直接的区别最明面上的有没有#和history模式要比hash模式的兼容性稍微差点。还有上线区别。

 npm run build打包,然后生成一个dist文件。

为什么我们要打包?

浏览器不识别.vue文件,需要webpack打包成html,让浏览器能够识别 

并且打包完的文件,需要在服务器中部署

现在我们使用express框架快速搭建一个微型的服务器

1.新建一个文件夹demo

2.npm init

3.给包取一个名字,就叫lesson

下面的内容都直接回车就可以了

 4.npm i express

5.文件夹中,右击新建一个server.js

6.在文件中输入内容

const express=require('express')const app=express()app.get('/person',(req,res)=>{res.send({name:'tom',age:19})
})app.listen(5005,(err)=>{if(!err) console.log('服务器请求成功');
})

 7.开启服务器 node server.js

然后把我们保存好的静态页面放到static里面。

如果我们需要在服务器中访问到它,需要添加 app.use(express.static(__dirname+'/static'))

停掉服务器就能重新访问到这个页面了

 然后把我们当当脚手架生成的文件放进去,重新打开,就可以了

然后就发现,你点击是没有关系的,但是你刷新,就直接废了

 因为,你刷新相当于发送网络请求,但你配置的服务器下是没有这个配置的,只有/person

这个history模式就是有这个模式的,而hash模式是没有这个问题的

 当然,这不是很美观,需要我们的后端程序员配合,这里提供一个node,中间件的方案

connect-history-api-fallback通过这个解决connect-history-api-fallback - npm (npmjs.com)

 

 然后引用,配置它

注意必须要在静态资源之前(app.use(express.static(__dirname+'/static')))去用它

app.use(history())

 然后重启服务器,就可以使用它了

 总结

* 对于一个url来说,什么是hash值?—— #及其后面的内容就是hash值。
* hash值不会包含在 HTTP 请求中,即:hash值不会带给服务器。
* hash模式:
  1. 地址中永远带着#号,不美观 。
  2. 若以后将地址通过第三方手机app分享,若app校验严格,则地址会被标记为不合法。
  3. 兼容性较好。
* history模式:
  1. 地址干净,美观 。
  2. 兼容性和hash模式相比略差。
  3. 应用部署上线时需要后端人员支持,解决刷新页面服务端404的问题。

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

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

相关文章

类型转换——C++

1. C语言中的类型转换 在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与接收返回值类型不一致时,就需要发生类型转化, C语言中总共有两种形式的类型转换:隐式类型转换…

linux工具gcc/g++/gdb/git的使用

目录 gcc/g 基本概念 指令集 函数库 (重要) gdb使用 基本概念 指令集 项目自动化构建工具make/makefile 进度条小程序 ​编辑 git三板斧 创建仓库 git add git commit git push git status git log gcc/g 基本概念 gcc/g称为编译器…

[ 应急响应基础篇 ] evtx提取安全日志 事件查看器提取安全日志

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

Java阶段一Day22

Java阶段一Day22 文章目录Java阶段一Day22线程安全synchronized教师总结新单词多线程多线程并发安全问题概念例synchronized关键字同步方法同步块在静态方法上使用synchronized互斥锁总结重点:多线程并发安全问题聊天室(续)实现服务端发送消息给客户端服务端转发消息给所有客户…

Android FrameWork 知识点与面试题整合~

1.如何对 Android 应用进行性能分析 android 性能主要之响应速度 和UI刷新速度。 首先从函数的耗时来说,有一个工具TraceView 这是androidsdk自带的工作,用于测量函数耗时的。 UI布局的分析,可以有2块,一块就是Hierarchy Viewe…

SpringBoot集成Mybatis-Plus实现多租户动态数据源

1. 概述 最近接手一个多租户系统,多租户主要的就是租户之间的数据是相互隔离的,每个租户拥有自己独立的数据,相互之间不干扰。目前实现多租户主要有三种方案: 独立数据库 每个租户拥有自己单独的数据库,从物理上隔离了…

手写一个IO泄露监测框架

作者:长安皈故里 大家好,最近由于项目原因,对IO资源泄漏的监测进行了一番调研深入了解,发现IO泄漏监测框架实现成本比较低,效果很显著;同时由于IO监测涉及到反射,还了解到了通过一种巧妙的方式实…

通达信欧奈尔RPS指标公式详解

RPS相对强度指标,是国内的投资者根据威廉欧奈尔所著书籍《笑傲股市》中的RS评级改进的。 根据书中介绍: RS评级衡量了某一给定股票在过去52周内相对股市中其他股票的表现。市场上每一只股票都被指定了1~99范围内的某一数值,99代表相对强度最高…

YOLOV7运行步骤(推理、训练全过程)

下载源代码:点击下载 执行以下命令安装requirements.txt中的相关依赖 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple官网下载权重yolov7.pt(测试使用)、yolov7-tiny.pt(训练使用,这里…

10 JS01——初识JS

目标: 1、初识JavaScript 2、JavaScript注释 3、JavaScript输入输出语句 一、初识JavaScript 1、JavaScript是什么 JavaScript是世界上最流行的语言之一,是一种运行在客户端的脚本语言(Script是脚本的意思) 脚本语言:不需要编译,运行过程…

Vue2-黑马(九)

0目录: (1)router-动态菜单 (2)vuex-入门 (3)vuex-mapState (1)router-动态菜单 我们点击按钮跳转到主页面,主页在制作动态菜单,路由的跳转方…

keil代码格式化快捷方法

美化当前文件:-n !E --styleansi -p -s4 -S -f -xW -w -xw 美化整个工程文件:-n "$E*.c" "$E*.h" --styleansi -p -s4 -S -f -xW -w -xw -R 当前时间:!E~E^E 添加文件注释:!E 函数功能注释:!E ~…

快排(动图详细版,快速理解)

注:本文主要介绍六大排序中的快排 文章目录前言一、三大法则1.1 Hoare法1.2 挖坑法1.3 双指针法(更加便捷)1.4 三种方法时间复杂度计算二、快排栈问题优化方式2.1 三数取中2.2 小区间优化三、非递归快排前言 快速排序是Hoare于1962年提出的一…

Linux高并发服务器(webserver)

一.有限状态机 它的转移函数表示系统从一个状态转移到另一个状态的条件 二.EPOLL 在内核中创建一个数据,这个数据有两个比较重要的数据,一个是需要检测的文件描述符的信息(红黑树),一个双向链表,存放检测到…

利用多专家模型解决长尾识别任务

来源:投稿 作者:TransforMe 编辑:学姐 贡献 提出了RoutIng Diverse Experts(RIDE),不仅可以减少所有类别的variance,并且还可以减少尾部类的bias。同时提升了头部和尾部的性能。 思路 目前存…

easyrecovery2023电脑文件数据恢复软件功能介绍

EasyRecovery功能全面,即便是没有经验的小白用户也可以很快上手,让你足不出户即可搞定常见的数据丢失问题。 在使用和操作存储设备期间,数据丢失问题在所难免。比如,误删除某个文件、不小心将有数据的分区格式化、误清空了有重要…

2023“认证杯”数学中国数学建模赛题浅析

2023年认证杯”数学中国数学建模如期开赛,本次比赛与妈杯,泰迪杯时间有点冲突。因此,个人精力有限,有些不可避免地错误欢迎大家指出。为了大家更方便的选题,我将为大家对四道题目进行简要的解析,以方便大家…

【vue3】04-vue基础语法补充及阶段案例

文章目录vue基础语法补充vue的computedvue的watch侦听书籍购物车案例vue基础语法补充 vue的computed computed:用于声明要在组件实例上暴露的计算属性。(官方文档描述) 我们已经知道,在模板中可以直接通过插值语法显示一些data中…

智能网卡相关知识(smart nic 、DPU)

网卡作为穿行在网络与计算之间的桥梁,是可以解决计算瓶颈的关键硬件。 随着CPU 密度和数据中心网络带宽的进一步提升,用户对预期性能的需求,系统运行平稳性都会有更高的要求。云厂商一方面面临巨大的成本压力,另一方面面临巨大的…

新一代异步IO框架 io_uring | 得物技术

1.Linux IO 模型分类 相比于kernel bypass 模式需要结合具体的硬件支撑来讲,native IO是日常工作中接触到比较多的一种,其中同步IO在较长一段时间内被广泛使用,通常我们接触到的IO操作主要分为网络IO和存储IO。在大流量高并发的今天&#xff…