返回介绍

PART Ⅰ : 容器云OPENSHIFT

PART Ⅱ:容器云 KUBERNETES

PART Ⅲ:持续集成与持续部署

PART Ⅴ:日志/监控/告警

PART Ⅵ:基础

PART Ⅶ:数据存储、处理

PART VIII:CODE

PART X:HACKINTOSH

PART XI:安全

statik 将静态资源文件打包到二进制文件中

发布于 2024-06-08 21:16:45 字数 2041 浏览 0 评论 0 收藏 0

对于Web项目,经常需要将少量的静态资源文件(HTML、JavaScript、CSS)编译到项目二进制文件,而go build是无法直接将静态资源文件编译成二进制文件的。所以此时需要第三方工具

GitHub:https://github.com/rakyll/statik

1、安装

go get github.com/rakyll/statik
go install github.com/rakyll/statik

2、编译指定目录下的静态资源文件为二进制

statik -src=/path/to/your/project/public

会在项目根目录下生成statik/static.go

// Code generated by statik. DO NOT EDIT.
package statik

import (
    "github.com/rakyll/statik/fs"
)

func init() {
    data := "PK\\x03\x04\x14......省略"
    fs.Register(data)
}

3、main中引用

package main
import (
    _ "github.com/项目名/statik"
    "github.com/rakyll/statik/fs"
)

func main (){
  //statikFS为http.FileSystem类型
    statikFS, err := fs.New()
  if err != nil {
    log.Fatal(err)
  }
  http.Handle("/public/", http.StripPrefix("/public/", http.FileServer(statikFS)))
  // 或者在gin框架下router.StaticFS("/public", statikFS)
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文