ich Setup eine Route in server.js
in Paket main
in Stammverzeichnis des ProjektsBild laden und CSS in Golang
http.HandleFunc("/",route.IndexHandler)
Die IndexHandler
in Paket route
wie folgt implementiert:
func IndexHandler(w http.ResponseWriter, r *http.Request) {
data:=struct{
Name string
}{
"My name",
}
util.RenderTemplate(w, "index", data)
}
Die RenderTemplate
Funktion wird im Paket util
wie folgt implementiert:
func RenderTemplate(w http.ResponseWriter, tmpl string, data interface{}) {
cwd, _ := os.Getwd()
t, err := template.ParseFiles(filepath.Join(cwd, "./view/" + tmpl + ".html"))
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
err = t.Execute(w, data)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
}
}
Verzeichnisstruktur in Projekt wie folgt aus:
/
/public/css
/public/images
/public/js
/route
/view
index.html
Blick in Ordner befindet view
, Router ist in Ordner route
In index.html
I gehören Ressourcen wie diese:
<link rel="stylesheet" type="text/css" href="../public/css/style.css">
<img src="../public/images/img_landing_page_mac.png">
Wenn der entsprechende Pfad angefordert wird, wird index.html
weiterhin gerendert, aber Bilder und Stylesheet werden nicht geladen. Wie kann ich tun, um sie in Golang HTML Template Engine aufzunehmen?
Es vollständig funktioniert einen statischen Dateiserver Griff registrieren! Vielen Dank! – necroface