我刚开始学习 go,我真正想学习做的一件事就是在 go 中制作网站。我看了一些教程并使网站正常工作,但我不知道如何添加样式。我在 Internet 和 stackoverflow 上搜索了一些示例,但找不到真正适合我的示例(并且保持简单)。下面是我最终得到的代码。但我想我现在遇到了一个新问题,因为它在控制台中说:为此,我尝试了很多在互联网上找到的解决方案,但没有一个有效,所以我很确定这是因为我在 go 中错误地导入了 css。去(函数。去):package mainimport ( "html/template" "net/http")type IndexPage struct { Title string SubTitle string}func indexHandler(w http.ResponseWriter, r *http.Request){ p := IndexPage{Title: "Pizza site", SubTitle: "everyone loves pizzas"} t, _ := template.ParseFiles("index.html") t.Execute(w,p)}func main() { http.HandleFunc("/", indexHandler) http.Handle("/css/", http.FileServer(http.Dir("css"))) http.ListenAndServe(":8080", nil)}HTML(索引.html):<html><head> <meta charset="utf-8"> <title>Pizzaaaaaaa</title> <link rel="stylesheet" href="css/style.css" type="text/css"></head><body> <article> <h1> {{ .Title }} <span class="subtitle">{{ .SubTitle }}</span> </h1> <p>Some text</p> </article></body></html>CSS ( /css/style.css )*{ color: rgb(250, 157, 157);}文件树
2 回答
GCT1015
TA贡献1827条经验 获得超4个赞
当您尝试从此网址访问 css 文件时,您的句柄返回 404:/css/*
用这个改变你的CSS句柄:
http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("./css"))))
*你得到 'text/plain' 因为 404 是纯文本。
四季花海
TA贡献1811条经验 获得超5个赞
您必须在响应标头中为 css 文件添加 mime 类型。
if strings.HasSuffix(path, ".css") { w.Header().Add("Content-Type", "text/css") }
或类似于多种不同 mime 类型的变量。
- 2 回答
- 0 关注
- 109 浏览
添加回答
举报
0/150
提交
取消