基于上一篇文章,本文继续研究静态资源文件的集成,主要是在Web服务器的集成中。
Golang有许多Web服务框架。本文选择用于杜松例如CSS,JS和图片。为了方便管理,后者放置在静态目录上 - 与上一篇文章目录相吻合,将前者放在模板目录中,并使用Gin's.s.html模板的Gin's Gin's Gin's gin's of Gin's of Gin's of Gin's of gin's.html模板,并且Gin也支持Custom Custom模板文件,可以适合我们的场景。
本文中使用的资源文件如下:
为了促进比较,首先给出通用的杜松子酒框架,主要代码如下:
其中,LoadHTMLGLOB用于加载HTML模板文件,staticfs指定静态资源,带有两个参数,即第一个指定的前缀名称(即HTML或JS文件中引用时使用的路径,第二个指定了实际路径(相对于真实路径(相对于实际路径)Web程序(相对于Web程序关闭)。GET函数用于响应相应的页面。由于响应函数不是本文的重点,因此简单列表如下:
注意:gprefix将如下提及。
Bindata的使用与上述示例基本没有不同,但是必须手动设置模板加载规则,并且指定的静态资源文件方法也不同。主代码如下:
自定义模板加载功能如下:
因为生成了bindata.go,因此指定了两个目录,并且该选项只能指定一个前缀,因此根本不添加参数。因此,生成的代码还将显示一个相应的目录。使用手动指定前缀。later,手动删除用于生成代码的前缀,该命令如下:
关键代码比较如下图所示(注意:左侧是未在前面删除的代码)。
我阅读了go-bindata-assetfs代码,以尝试添加参数以实现目标。
https://jaycechant.info/2020/go-bindata-golang-static-resources-embedding/
http://blog.hotsun168.com/index.php/archives/18/
版本1.16的新方法:https://www.flysnow.org/2021/02/28/golang-embed-for-web.html