Go gin内嵌静态资源go-bindata的安装及使用(GVA)
安装
go get -u github.com/jteeuwen/go-bindata/...
使用
在代码的第一行写:
//go:generate go-bindata -o=staticFile.go -pkg=packfile -tags=packfile ../resource/... ../config.yaml ../migrate/...
migrate这些目录需要在部署时放置在main程序二进制文件所在目录
//go:build packfile
// +build packfilepackage packfileimport ("fmt""io/ioutil""os""path/filepath""strings"
)//go:generate go-bindata -o=staticFile.go -pkg=packfile -tags=packfile ../resource/... ../config.yaml ../migrate/...func writeFile(path string, data []byte) {// 如果文件夹不存在,预先创建文件夹if lastSeparator := strings.LastIndex(path, "/"); lastSeparator != -1 {dirPath := path[:lastSeparator]if _, err := os.Stat(dirPath); err != nil && os.IsNotExist(err) {os.MkdirAll(dirPath, os.ModePerm)}}// 已存在的文件,不应该覆盖重写,可能在前端更改了配置文件等if _, err := os.Stat(path); os.IsNotExist(err) {if err2 := ioutil.WriteFile(path, data, os.ModePerm); err2 != nil {fmt.Printf("Write file failed: %s\n", path)}} else {fmt.Printf("File exist, skip: %s\n", path)}
}func init() {for key := range _bindata {filePath, _ := filepath.Abs(strings.TrimPrefix(key, "."))data, err := Asset(key)if err != nil {// Asset was not found.fmt.Printf("Fail to find: %s\n", filePath)} else {writeFile(filePath, data)}}
}
或者:
参考链接:
https://www.cnblogs.com/landv/p/11577213.html
https://blog.csdn.net/weixin_39559097/article/details/110215894
Go gin内嵌静态资源go-bindata的安装及使用(GVA)相关推荐
- Razor Page Library:开发独立通用RPL(内嵌wwwroot资源文件夹)
Demo路径:https://github.com/yanshengjie/RPL.Demo 1. Introduction Razor Page Library 是ASP.NET Core 2.1引 ...
- gin embed打包静态资源文件
问题 在gin项目中如果单纯的只是实现api接口,那打包出来的是一个可执行文件.但如果项目中如果包含一些页面,则必定会引入一些css,jss,html文件.这样会使打包出来后会挂着对应的静态资源文件夹 ...
- golang将静态资源文件打包进二进制文件
默认情况下,将项目打包成二进制的时候是不会加入静态资源文件的,因此在部署的时候还需要捎带上这些文件,比如,一些配置文件,图片,样式表等. 很多时候,这些静态文件是不需要变的,如果能一并加入到二进制文件 ...
- Golang Gin embed static 静态文件嵌入
Golang Gin embed 静态文件嵌入 需求 改进思路 a). Gin文档 静态资源嵌入 方案 b). Gin 自带方法 代码 效果 c). 改进 1. 自带http库做法 2. 查看gin ...
- 记一次定位解决SpringBoot中内嵌Tomcat的Bug问题
你知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑:业余草 segmentfault.com/a/1190000038760707 推荐:h ...
- Office中的Word无法关联内嵌EndNote
在进行论文或者文章写作的过程中,插入参考文献是一个常规操作,在文献少的时候手动插入可以完成,但是参考文献多的手动插入是一个非常不明智的方法,这时候文献管理软件Endnote就是一个非常好的工具. 之前 ...
- jekyll静态博客提升访问速度:内嵌CSS,异步加载js,压缩HTML
在谷歌搜索的功能速度(实验性)中推荐使用工具PageSpeed Insights查看我的网页访问速度情况:PageSpeed Insights 分数很低,只有33分. 优化建议的第一条是移除阻塞渲染的 ...
- 内嵌资源html,内嵌元素(HTML)
内嵌内容 applet元素 过时的HTML Applet元素(applet)将Java applet嵌入文档中:不赞成使用此元素 embed元素 元素嵌入在文档中指定的点的外部内容.此内容由外部应用程 ...
- 11.6 如何使用内嵌资源类(ResourceRetriever)?
获取类库(组件 或 装配件)的内嵌资源,一般返回的是字节流或文件流,在获取时还应该指定从哪个类库获取,如果未指定类库时,则类库是发起调用方法所在的类库. 所在组件:IBeamMDAACore.dll ...
最新文章
- 在java中实现滚动文字,通过线程实现文字在屏幕上不停滚动,为什么文字不显示啊,求指点...
- 酒店用机器学习,预测哪些客人会放鸽子
- TIOBE 12 月编程语言:Python 有望第四次成为年度语言!
- ADA4531 fA级静电放大器
- 首次看清体内所有癌症转移灶,深度学习方法立大功!中国留学生一作论文登《细胞》封面...
- codeforces570C
- TIME_WAIT和CLOSE_WAIT状态
- java如何获得键值_如何在java中取map中的键值 的两种方法
- 【转】深入剖析iLBC的丢包补偿技术(PLC)
- 查看容器ID以及如何在docker和宿主机之间复制文件
- 实现前后端数据交互方法汇总
- 在测试中发现错误,不要着急去改,静下心来,想一想错误的关联性( 错误展开确认 )。
- whitepages 配合调查_“你好,我是警察!请配合我们的调查......”_政务_澎湃新闻...
- 天锐绿盾技术大讲堂:解密审批流程管理
- 做SEO优化第三步:学习了解HTML基础知识
- 多屏信号服务器,多屏拼接控制器及多屏拼接方案【图文】
- Vue 接入高德地图
- Stripies POJ 1862
- ubuntu如何杀进程_ubuntu kill进程
- MDUKEY超级节点配置及指南(简)
热门文章
- python汉诺塔问题输入层数输出整个移动流程_python实现汉诺塔方法汇总
- obj是什么意思_为什么要学正则表达式 - 3
- 打豆豆游戏c语言编程,C语言程序打豆豆(函数版)
- CAN 多于8字节的拆包组包协议
- numpy(3)-numpy.random.random() ,random_sample()连续均匀分布
- Yinchuan-B The Great Wall
- 【职场】清华同学在鹅厂五星绩效,还是失业了!
- 【Python】Jupyter Notebook这款「骚气满满」的小工具,简直太爱了!
- 【深度学习】transformer 真的快要取代计算机视觉中的 CNN 吗?
- 【机器学习基础】前置知识(二):30分钟掌握常用Jupyter Notebook用法