Go语言Gin框架html模板多目录渲染躺坑记

事故的起因是这样的,我跟着一位UP主大佬,通过Go语言的gin框架+vue开发了一套后台博客管理+前端页面展示的项目,因为大佬开发完成了,后续的一些没讲,就自己琢磨,结果将后台和前端展示两部分绑定到gin框架的时候,在模板渲染这块出现了问题,

经过多方百度,依然没有解决,最后在群里讯问,得到一些回答,带来了一点灵感,其中比较有帮助的两点是:1、建一个demo测试一下,2、静态文件不能放在模板目录里,然后我建了一个demo,并完整复现了在项目中遇到的问题,经过排查,原因如下:

我们先说静态文件的问题:

如果静态文件跟我一样,放在了模板目录下(vue打包后直接拷贝过来的,所以没想到要改一下):

 这样就会反复抛出如下异常,不管怎么改都没用,项目根本无法启动,崩溃+1,怀疑人生:

 然后灵光一闪,想到群友说的,静态文件不能放在模板目录里,看这路径,明显是在找模板的时候,找错文件夹,进入了静态文件夹里面。

把上面改了后就出现了第二个问题,此时你会怀疑是不是刚刚改错了,不要慌(我很慌,没错,就是我在这上面怀疑很久,反复修改),真正的原因在下面:

我的后台admin文件夹里面首页是index.html,我的前端front文件夹里面首页同样是index.html,所以导致我不管怎么设置如下代码:

	//托管admin后台静态资源
	r.LoadHTMLGlob("template/**/*")
	r.Static("admin/static","static/admin/static")
	r.StaticFile("admin/favicon.ico","template/admin/favicon.ico")
	r.GET("admin",func(c *gin.Context){
		c.HTML(http.StatusOK,"admin.html",nil)
	})
	//托管front前端页面静态资源
	r.Static("front/static","static/front/static")
	r.StaticFile("front/favicon.ico","template/front/favicon.ico")
	r.GET("front",func(c *gin.Context){
		c.HTML(http.StatusOK,"front.html",nil)
	})

都会抛出异常,说该文件未定义,崩溃再次+1,继续怀疑人生

当问题解决完成,回头一看,居然如此简单,怀疑人生...

果然,还是我太菜了,记录一下,免得忘记了

最后,感谢热心群友的帮助

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lemuzhi_零度

作者幸苦,犒劳一下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值