编程 gin整合vfsgen进行打包静态static目录

2024-11-19 02:17:28 +0800 CST views 1162

vfsgen 是一个用于将静态文件打包到 Go 程序中的工具。它将文件系统(如静态文件、模板等)生成 Go 代码,使得这些资源可以直接嵌入到可执行文件中。
第一步 先进行安装

go get -u github.com/shurcooL/vfsgen

  1. 创建生成代码的 Go 文件
    在你的项目中创建一个新的 Go 文件,例如 generate_static.go,并添加以下内容:
// +build ignore

package main

import (
	"log"
	"net/http"

	"github.com/shurcooL/vfsgen"
)

func main() {
	err := vfsgen.Generate(http.Dir("static"), vfsgen.Options{
		Filename:     "static_vfsdata.go", // 生成的 Go 文件名
		PackageName:  "main",              // 包名,可以根据你的情况修改
	})
	if err != nil {
		log.Fatalln(err)
	}
}

  1. 生成静态文件的 Go 代码
    在终端运行以下命令来生成打包的 Go 文件:

go run generate_static.go

执行成功后,你会在项目中看到一个名为 static_vfsdata.go 的文件。这个文件包含了所有静态文件的 Go 代码,可以直接嵌入到你的应用程序中。

//router.Static("/static", "./static") 原来的方式
// 提供静态文件处理
router.StaticFS("/static", tmp.Assets2)

这样处理完成之后进行打包的二进制文件就不需要再次上传这个目录了

GOOS=linux GOARCH=amd64 go build -o go-mvc-linux

服务器端运行

export GIN_MODE=release HTTP_PORT=8089 && ./go-mvc-linux

复制全文 生成海报 Go语言 工具 静态文件处理

推荐文章

支付页面html收银台
2025-03-06 14:59:20 +0800 CST
pip安装到指定目录上
2024-11-17 16:17:25 +0800 CST
JavaScript数组 splice
2024-11-18 20:46:19 +0800 CST
如何在Vue 3中使用Ref访问DOM元素
2024-11-17 04:22:38 +0800 CST
在 Docker 中部署 Vue 开发环境
2024-11-18 15:04:41 +0800 CST
Vue 3 中的 Watch 实现及最佳实践
2024-11-18 22:18:40 +0800 CST
CSS 奇技淫巧
2024-11-19 08:34:21 +0800 CST
ElasticSearch集群搭建指南
2024-11-19 02:31:21 +0800 CST
使用Python实现邮件自动化
2024-11-18 20:18:14 +0800 CST
java MySQL如何获取唯一订单编号?
2024-11-18 18:51:44 +0800 CST
前端如何一次性渲染十万条数据?
2024-11-19 05:08:27 +0800 CST
Golang - 使用 GoFakeIt 生成 Mock 数据
2024-11-18 15:51:22 +0800 CST
ElasticSearch 结构
2024-11-18 10:05:24 +0800 CST
`Blob` 与 `File` 的关系
2025-05-11 23:45:58 +0800 CST
基于Flask实现后台权限管理系统
2024-11-19 09:53:09 +0800 CST
如何实现虚拟滚动
2024-11-18 20:50:47 +0800 CST
记录一次服务器的优化对比
2024-11-19 09:18:23 +0800 CST
PyMySQL - Python中非常有用的库
2024-11-18 14:43:28 +0800 CST
PHP来做一个短网址(短链接)服务
2024-11-17 22:18:37 +0800 CST
从Go开发者的视角看Rust
2024-11-18 11:49:49 +0800 CST
程序员茄子在线接单