我是靠谱客的博主 大气小馒头,最近开发中收集的这篇文章主要介绍gin如何加载不同层级目录的html,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

gin提供了两个方法来加载html模版
LoadHTMLFiles()、LoadHTMLGlob()
LoadHTMLFiles是把我们的文件一个个地加载进去,

router.LoadHTMLFiles(“/templates/index.html”,"/templates/license/list.html")

LoadHTMLGlob是使用路径匹配
router.LoadHTMLFile("/templates/**/*")
我一开始使用LoadHTMLGlob,发现他只能加载license文件下的,而上一层级index.html以及login.html加载不进来

我的目录层级是这样的
在这里插入图片描述
查资料后发现,LoadHTMLGlob只能加载同一层级的文件,比如说使用router.LoadHTMLFile("/templates/**/*"),就只能加载/templates/license/或者/templates/home/下面的文件

我的解决办法就是通过filepath.Walk来搜索/templates下的以.html结尾的文件,把这些html文件都加载一个数组中,然后用LoadHTMLFiles加载

var files []string
	filepath.Walk("./templates", func(path string, info os.FileInfo, err error) error {
		if strings.HasSuffix(path, ".html") {
			files = append(files, path)
		}
		return nil
	})

	router.LoadHTMLFiles(files...)

最后

以上就是大气小馒头为你收集整理的gin如何加载不同层级目录的html的全部内容,希望文章能够帮你解决gin如何加载不同层级目录的html所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部