我剛開始學(xué)習(xí) go,我真正想學(xué)習(xí)做的一件事就是在 go 中制作網(wǎng)站。我看了一些教程并使網(wǎng)站正常工作,但我不知道如何添加樣式。我在 Internet 和 stackoverflow 上搜索了一些示例,但找不到真正適合我的示例(并且保持簡(jiǎn)單)。下面是我最終得到的代碼。但我想我現(xiàn)在遇到了一個(gè)新問題,因?yàn)樗诳刂婆_(tái)中說:為此,我嘗試了很多在互聯(lián)網(wǎng)上找到的解決方案,但沒有一個(gè)有效,所以我很確定這是因?yàn)槲以?go 中錯(cuò)誤地導(dǎo)入了 css。去(函數(shù)。去):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貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
當(dāng)您嘗試從此網(wǎng)址訪問 css 文件時(shí),您的句柄返回 404:/css/*
用這個(gè)改變你的CSS句柄:
http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("./css"))))
*你得到 'text/plain' 因?yàn)?404 是純文本。

四季花海
TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊
您必須在響應(yīng)標(biāo)頭中為 css 文件添加 mime 類型。
????if?strings.HasSuffix(path,?".css")?{ ????????w.Header().Add("Content-Type",?"text/css") ????}
或類似于多種不同 mime 類型的變量。
- 2 回答
- 0 關(guān)注
- 149 瀏覽
添加回答
舉報(bào)
0/150
提交
取消