我是靠谱客的博主 甜美柠檬,最近开发中收集的这篇文章主要介绍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,继续怀疑人生

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

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

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

最后

以上就是甜美柠檬为你收集整理的Go语言Gin框架html模板多目录渲染躺坑记的全部内容,希望文章能够帮你解决Go语言Gin框架html模板多目录渲染躺坑记所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部