编程 gin整合go-assets进行打包模版文件

2024-11-18 09:48:51 +0800 CST views 993

安装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

这样模版文件就打包好了。

复制全文 生成海报 Go语言 开发工具 模板处理

推荐文章

Golang 中应该知道的 defer 知识
2024-11-18 13:18:56 +0800 CST
CSS 特效与资源推荐
2024-11-19 00:43:31 +0800 CST
Linux查看系统配置常用命令
2024-11-17 18:20:42 +0800 CST
H5端向App端通信(Uniapp 必会)
2025-02-20 10:32:26 +0800 CST
js迭代器
2024-11-19 07:49:47 +0800 CST
禁止调试前端页面代码
2024-11-19 02:17:33 +0800 CST
在 Vue 3 中如何创建和使用插件?
2024-11-18 13:42:12 +0800 CST
快速提升Vue3开发者的效率和界面
2025-05-11 23:37:03 +0800 CST
Rust 高性能 XML 读写库
2024-11-19 07:50:32 +0800 CST
Go 协程上下文切换的代价
2024-11-19 09:32:28 +0800 CST
7种Go语言生成唯一ID的实用方法
2024-11-19 05:22:50 +0800 CST
Golang在整洁架构中优雅使用事务
2024-11-18 19:26:04 +0800 CST
html一个全屏背景视频
2024-11-18 00:48:20 +0800 CST
PostgreSQL日常运维命令总结分享
2024-11-18 06:58:22 +0800 CST
Vue 中如何处理跨组件通信?
2024-11-17 15:59:54 +0800 CST
thinkphp分页扩展
2024-11-18 10:18:09 +0800 CST
Vue3中如何处理状态管理?
2024-11-17 07:13:45 +0800 CST
程序员茄子在线接单