当使用golang开发一个网站时 , 通常是须要部署下静态文件的资源 ,go只是提供接口 , 打包完的go二进制文件不包含静态文件资源git
可是当作一个小型的应用时还要再部署静态资源显得比较麻烦 , 这个时候可使用packr这个包来把静态资源直接打包进二进制里github
包的github地址是 https://github.com/gobuffalo/packrgolang
使用的时候能够直接在go.mod里使用v2版本就能够了 网站
go.modui
github.com/gobuffalo/packr/v2 v2.5.1blog
调用的时候使用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