[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

 

相关文章

什么是Go的接口? 接口可以说是一种类型,可以粗略的理解为他...
1、Golang指针 在介绍Golang指针隐式间接引用前,先简单说下...
1、概述 1.1 Protocol buffers定义 Protocol buffe...
判断文件是否存在,需要用到"os"包中的两个函数: os.Stat(...
1、编译环境 OS :Loongnix-Server Linux release 8.3 CPU指...
1、概述 Golang是一种强类型语言,虽然在代码中经常看到i:=1...