packr 方便的潜入静态资源文件到golang 二进制文件中
类似的工具以前有介绍过statik,今天使用的工具是packr 也是很方便的golang tools
安装
go get -u github.com/gobuffalo/packr/packr
或者我们可以直接使用二进制文件
下载地址:https://github.com/gobuffalo/packr/releases
之后配置path 变量即可
简单项目
- 项目结构
├── go.mod
├── go.sum
├── main.go
└── templates
└── app.t
- 项目创建说明
项目使用go mod 进行包管理
go mod init github.com/rongfengliang/packr-demo
- 代码说明
main.go
package main
import (
"html/template"
"log"
"os"
"github.com/gobuffalo/packr"
)
func main() {
box := packr.NewBox("./templates")
t, err := template.New("dalongdemo").Parse(box.String("app.t"))
if err != nil {
log.Fatal(err)
}
err = t.Execute(os.Stdout, "dalongdemo")
if err != nil {
log.Fatal(err)
}
}
构建
使用packr 工具,方便简化我们代码的处理,同时包含了,自动生成的代码
- build
packr build
效果
├── README.md
├── go.mod
├── go.sum
├── main-packr.go
├── main.go
├── packr-demo
├── packrd
│ └── packed-packr.go
└── templates
└── app.t
- 运行
./packr-demo
hello demo dalongdemo
生成代码效果
说明
packr 使用起来还是比较清晰方便的,可以帮助我们简化好多应用打包上的问题,实际上我们结合goreleaser
会更加方便
参考资料
https://github.com/rongfengliang/packr-demo
https://github.com/gobuffalo/packr
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2018-06-04 chaos-engineering 的一些开源工具
2017-06-04 drill 表&&视图使用
2017-06-04 drill 数据源配置补充
2015-06-04 javascript 函数节流方法
2014-06-04 C# winform 使用DsoFramer 创建 显示office 文档
2014-06-04 visual studio 2014 新特性
2014-06-04 转 管线开发