安装go-assets-builder(执行以下一种就行...)
go get github.com/jessevdk/go-assets-builder
go install github.com/jessevdk/go-assets-builder@latest
安装成功后:
在本目录执行:go-assets-builder templates -o assets.go
安装完成后可能会找不到文件
我们用查找下
ls $(go env GOPATH)/bin
然后进行环境变量设置
export PATH=$PATH:$(go env GOPATH)/bin
或者
source ~/.zshrc # 如果你使用的是 zsh
# 或
source ~/.bash_profile # 如果你使用的是 bash
接着我们运行代码
go-assets-builder templates -o html/assets.go -p html
-o 生成的文件 我们这里保存到html目录 如果不存在 手动创建一个
-p 生成包名
//原来的加载方式
//router.LoadHTMLGlob("./templates/index/*/*.html")
func loadTemplate() (*template.Template, error) {
t := template.New("")
for name, file := range tmp.Assets.Files {
// 可以用.tmpl .html
if file.IsDir() || !strings.HasSuffix(name, ".html") {
continue
}
h, err := ioutil.ReadAll(file)
if err != nil {
return nil, err
}
t, err = t.New(name).Parse(string(h))
if err != nil {
return nil, err
}
}
return t, nil
}
// 从打包的 assets 中加载模板
templates, err := loadTemplate()
if err != nil {
panic(err)
}
router.SetHTMLTemplate(templates)
然后重新编译的代码
GOOS=linux GOARCH=amd64 go build -o go-mvc-linux
这样模版文件就打包好了。