我目前正在使用内置模板开发Go Web服务器。
我当前遇到的问题是,当我运行Web服务器时,它正在提供正确的文件,但它不会在网站上加载任何媒体。(例如图片和字体)当我运行.html文件因为它所有媒体都已加载所以我知道它与我的后端有关。这是我的代码:
var templates = template.Must(template.ParseGlob("static/*.html"))
...
func index(w http.ResponseWriter, r *http.Request) {
currentTime := time.Now().Local()
toSend := payload{
Date: currentTime.Format("01-02-2006"),
Status: "Active",
}
t, err := template.ParseFiles("static/index.html")
if err != nil {
log.Fatalf("Error parsing template: %v", err)
}
t.Execute(w, toSend)
}
...
这是我的文件路径:
app
|-main.go
|-static(contains static files)
|-media(contains all media)
|-index.html
这可以很好地提供所有必需数据的模板,而无需任何媒体。感谢所有帮助!
答案 0 :(得分:0)
@Adrian在评论中回答说,我根本没有通过go服务器加载媒体资产以供html使用。
http.Handle("/media/",http.StripPrefix("/media/",http.FileServer(http.Dir("static/media"))))
我只需要