1
我是一個去編程的新手。我遵循這個(https://golang.org/doc/articles/wiki/)教程。我想在這個擁有多個頁面和CSS元素的網站之上構建。Go並沒有爲所有的HTML頁面渲染CSS元素
在main方法我用
http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("css"))))
這是我makeHandler功能。它應該把所有的請求指向正確的處理程序。
func makeHandler(fn func(http.ResponseWriter, *http.Request, string)) http.HandlerFunc{
return func(w http.ResponseWriter, r *http.Request){
//extract page title from request
//and call the provided handler 'fn'
m := validPath.FindStringSubmatch(r.URL.Path)
fmt.Println(m)
if m == nil{
http.NotFound(w,r)
return
}
fn(w,r,m[2])
}
}
當我印刷的 'm',所有的請求是由視圖前綴(I具有的ViewHandler隨後被調用,以呈現所述模板)。
http.HandleFunc("/view/", makeHandler(viewHandler))
所以,如果我想查看aboutSite頁面,網址會有/視圖/ aboutSite其將被引導到的ViewHandler。
問題是,html模板有CSS鏈接,鏈接前綴也是'view'。所以,如果我在我的html模板中有這行代碼
<link rel="stylesheet" href="css/bootstrap.min.css">
makeHandler會收到一個'查看'前綴URL。 /view/css/bootstrap.min.css
我需要添加/更改什麼以便呈現CSS元素?
<鏈路的rel = 「樣式表的」 href = 「/ CSS/bootstrap.min.css」>否則你在HREF 「附加」 的URL現用URL – Tiega
甚至壽你是新的,想要學習,我明白了。仍然可以看看echo http服務器。如果你真的想做一個網站,它會爲你節省很多編碼。 :) – Tiega
謝謝你的工作!我試圖理解回聲以便使用它 –