相似的工具之前有介紹過statik,今天使用的工具是packr 也是很方便的golang toolshtml
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 進行包管理git
go mod init github.com/rongfengliang/packr-demo
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 工具,方便簡化咱們代碼的處理,同時包含了,自動生成的代碼github
packr build
效果golang
├── 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
生成代碼效果
app
packr 使用起來仍是比較清晰方便的,能夠幫助咱們簡化好多應用打包上的問題,實際上咱們結合goreleaser
會更加方便工具
https://github.com/rongfengliang/packr-demo
https://github.com/gobuffalo/packrui