Gin加载history模式下打包后的Vue文件,刷新找不到页面404
import (
"io/ioutil" "github.com/gin-contrib/static"
"github.com/gin-gonic/gin"
)
app := gin.Default()
//加载静态资源
app.Use(static.Serve("/", static.LocalFile("dist", true)))
app.NoRoute(func(c *gin.Context) {
accept := c.Request.Header.Get("Accept")
flag := strings.Contains(accept, "text/html")
if flag {
content, err := ioutil.ReadFile("dist/index.html")
if (err) != nil {
c.Writer.WriteHeader(404)
c.Writer.WriteString("Not Found")
return
}
c.Writer.WriteHeader(200)
c.Writer.Header().Add("Accept", "text/html")
c.Writer.Write((content))
c.Writer.Flush()
}
})
亲自测试,可以实现。
参考链接:https://icode.best/i/94287044316914
Gin加载history模式下打包后的Vue文件,刷新找不到页面404的更多相关文章
- vue路由history模式下打包node服务器配置
vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载. 如果不想要很丑的 hash,我们可以用路由的 his ...
- js模块化/js模块加载器/js模块打包器
之前对这几个概念一直记得很模糊,也无法用自己的语言表达出来,今天看了大神的文章,尝试根据自己的理解总结一下,算是一篇读后感. 大神的文章:http://www.css88.com/archives/7 ...
- JS window对象 返回下一个浏览的页面 forward()方法,加载 history 列表中的下一个 URL。
返回下一个浏览的页面 forward()方法,加载 history 列表中的下一个 URL. 如果倒退之后,再想回到倒退之前浏览的页面,则可以使用forward()方法,代码如下: window.hi ...
- 解决vue-router嵌套路由(子路由)在history模式下刷新无法渲染页面的问题
一. 异常描述: 本来使用的是vue-router的hash模式,但是hash模式下url需要带“#”符号,不仅看起来不舒服,而且有些场景下是会破坏路由中的"#"(微信分享页面就会 ...
- react history模式下的白屏问题
近期,再用react的时候,由于不想用丑陋的hash,便将路由模式切换成history了,结果带来了一些问题,比如刷新白屏,还有图片加载不出来,这里我们说一下解决方案. 原因 首先,我们说一下造成这一 ...
- JVM自定义类加载器加载指定classPath下的所有class及jar
一.JVM中的类加载器类型 从Java虚拟机的角度讲,只有两种不同的类加载器:启动类加载器和其他类加载器. 1.启动类加载器(Boostrap ClassLoader):这个是由c++实现的,主要负责 ...
- JS window对象 返回浏览历史中的其他页面 go()方法,根据当前所处的页面,加载 history 列表中的某个具体的页面。 语法: window.history.go(number);
返回浏览历史中的其他页面 go()方法,根据当前所处的页面,加载 history 列表中的某个具体的页面. 语法: window.history.go(number); 参数: 浏览器中,返回当前页面 ...
- SpringJUnit4加载类目录下(src)和WEF-INF目录下的配置文件
路径说明: 一.加载类目录下的配置文件 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:ap ...
- JS window对象 返回前一个浏览的页面 back()方法,加载 history 列表中的前一个 URL。 语法: window.history.back();
返回前一个浏览的页面 back()方法,加载 history 列表中的前一个 URL. 语法: window.history.back(); 比如,返回前一个浏览的页面,代码如下: window.hi ...
- JQuery/JS插件 jsTree加载树,预先加载,初始化时加载前三级节点,当展开第三级节点时 就加载该节点下的所有子节点
jsTree加载树, 初始化时 加载前三级节点, 当展开第三级节点时 就加载该节点下的所有子节点 html: <!DOCTYPE html> <html> <head&g ...
随机推荐
- nightwatch入门教程
Nightwatch.js 是一个用来测试web应用和网站的自动化测试框架,它是由NodeJs编写的,使用了W3C WebDriver API(之前是Selenium WebDriver) 所以我们首 ...
- Linux下aria2详细配置,以及接管浏览器下载项
本篇是在Deepin的环境下操作,大概可适用与Ubuntu和Debian,其他系的Linux不确定, 首先,我们安装aria2,使用命令行(在桌面右键可以打开)输入sudo apt install a ...
- flutter SliverPersistentHeader子组件透明度渐变【滑动悬停appbar添加自定义组件的透明度】
在开发flutter悬停头部中,发现一个问题. 我们通常使用SliverAppBar(),去实现悬停的功能,在使用appbar的时候满足不了我们的需求,就需要自定义, 如下:在title中写了一个搜索 ...
- AI-Chat问答随笔
Q: 操作系统和驱动的关系 A:操作系统和驱动程序是紧密相关的,它们一起构成了计算机系统中的软件部分,实现了对硬件资源的管理和控制.操作系统作为计算机系统的核心软件,主要负责管理和协调计算机系统中的各 ...
- idea gradle 安装失败
文件下载地址 gradle-> wrapper- > gradle-wrapper.properties 默认安装位置 ~/. gradle 当前项目 ~/. gradle 下载地址 wg ...
- C#中延迟初始化实现原理的一点浅见。
定义 延迟初始化:一个对象的延迟初始化意味着它的创建被推迟到它第一次使用.(对于本主题,延迟初始化和延迟实例化是同义词.)延迟初始化主要用于提高性能.避免浪费计算和减少程序内存需求. 用法及简单介绍 ...
- tool script to convert back slash
Back slash is used in windows, which makes so many headache for me. Then an idea came to my mind. It ...
- Mybatis动态SQL语句大全
读完这篇文章里你能收获到 Mybatis动态SQL语句大全 Mybatis中如何定义变量 Mybatis中如何提取公共的SQL片段 1. If 语句 需求:根据作者名字和博客名字来查询博客!如果作者名 ...
- C++内存泄漏——原因、避免以及定位
https://bbs.huaweicloud.com/blogs/351858
- [Oracle19C ASM管理] 安装和配置ASM以及Oracle数据库
一般设置 关闭防火墙 检查防火墙状态 systemctl status firewalld.service 暂时关闭防火墙,下次启动时防火墙仍随系统启动而启动 systemctl stop firew ...