我在使用go lang创建的Web应用程序中添加一些CSS时遇到问题。 main.go
和html文件包含在根目录中,style.css
包含在root/css
目录中
我的。* go代码是
package main
import (
"html/template"
"net/http"
)
func main(){
http.HandleFunc("/home", mainViewHandler)
http.ListenAndServe(":8080", nil)
}
func mainViewHandler(responseWriter http.ResponseWriter,request *http.Request){
t, _ := template.ParseFiles("main.html")
t.Execute(responseWriter, 0)
}
和html代码是
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="todo/style.css">
<meta charset="UTF-8">
<title>Main Page</title>
</head>
<body>
<h2>Take your choice</h2>
<a href="/edit">Edit</a>
<a href="/add">Add</a>
<a href="/list">List</a>
</body>
</html>
答案 0 :(得分:1)
您需要告诉go从root / css目录提供文件。请记住,当您运行应用程序时,root / css应位于应用程序的工作文件夹中。
我不直接使用http包,但请相信你的情况应该如下(在ListenAndServe之前):
http.Handle("/todo/", http.StripPrefix("root/css/", http.FileServer(http.Dir("root/css"))))
但您可能需要根据实际的文件夹配置进行调整。
请参阅文档here