[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
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网