go-buffalo

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

老子叫甜甜 提交于 2020-10-22 13:34:14
当使用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:/