这可能是一个非常业余的问题。我正在尝试将静态文件嵌入到二进制文件中。html。如何使用https://github.com/jteeuwen/go- bindata做到这一点?
因此,我可以使用此https://github.com/jteeuwen/go-bindata#accessing-an- asset访问资产,但是该如何处理“数据”,以及如何解析文件,执行模板以及服务他们在目录中?
我在网上找不到任何示例,将不胜感激!
给定这样的目录结构:
example/ main.go data/hi.html
例子/ main.go
package main import ( "html/template" "log" "net/http" "os" ) var tmpl *template.Template func init() { data, err := Asset("data/hi.html") if err != nil { log.Fatal(err) } tmpl = template.Must(template.New("tmpl").Parse(string(data))) } func main() { // print to stdout tmpl.Execute(os.Stdout, map[string]string{"Name": "James"}) http.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) { tmpl.Execute(w, map[string]string{"Name": "James"}) }) log.Fatal(http.ListenAndServe(":8000", nil)) }
示例/数据/hi.html
<h1>Hi, {{.Name}}</h1>
像这样运行:
go-bindata data && go build && ./example
控制台输出:
<h1>Hi, James</h1>
HTTP输出: