statik

一、简介

对于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)
}
Copyright Curiouser all right reserved,powered by Gitbook该文件最后修改时间: 2021-01-14 09:35:18

results matching ""

    No results matching ""