[Go] 使用packr包把静态文件打包进二进制内

当使用golang开发一个网站时 , 一般是需要部署下静态文件的资源 ,go只是提供接口 , 打包完的go二进制文件不包含静态文件资源

但是当做一个小型的应用时还要再部署静态资源显得比较麻烦 , 这个时候可以使用packr这个包来把静态资源直接打包进二进制里

 

包的github地址是 https://github.com/gobuffalo/packr

使用的时候可以直接在go.mod里使用v2版本就可以了 

go.mod

github.com/gobuffalo/packr/v2 v2.5.1

 

调用的时候使用import引入

import (
"github.com/gobuffalo/packr/v2"
)

具体方法可以参照我这个 , 也可以去看下文档

//获取文件内容,可以打包到二进制
func FileGetContent(file string) string {
str := ""
box := packr.New("tmpl","../static")
content, err := box.FindString(file)
if err != nil {
return str
}
return content
}

重点是在最终打包build的时候 ,先使用packr2 build 以下 , 然后再去go build

packr2命令需要单独下载

https://github.com/gobuffalo/packr/releases

 

posted @   唯一客服系统开发笔记  阅读(2366)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2017-06-16 [Linux] PHP程序员玩转Linux系列-腾讯云硬盘扩容挂载
2016-06-16 [javaSE] GUI(jar包双击运行)
2016-06-16 [javaSE] GUI(打开文件对话框)
点击右上角即可分享
微信分享提示
1
chat with us