我一直在阅读并尝试将css css文件提供给我的html页面,但没有任何反应。我一直在阅读https://forum.golangbridge.org/t/serving-static-css-files/2051/10以获得更好的理解。我的项目结构在
下func WebRoutes(r *mux.Router) {
r.HandleFunc("/", Index)
// Trying to serve file here and it's not working
r.Handle("/web/content/desktop/", http.StripPrefix("/web/content/desktop/", http.FileServer(http.Dir("desktop"))))
// Below is the correct path since it finds the file
_, err := os.Stat(filepath.Join(".", "/web/content/desktop/", "page.css"))
if err != nil {
println(err.Error())
}
}
我从这样的html页面引用文件
<link rel="stylesheet" type="text/css" href="/Web/Content/desktop/page.css">
由于我似乎无法使CSS正常工作,因此任何建议都是很好的。
答案 0 :(得分:1)
您要通过以下方式提供静态文件
:http.FileServer(http.Dir("desktop"))
但是根据屏幕快照,磁盘上的路径不是"desktop"
而是"Web/Content/desktop"
。
请记住,鉴于您已经在使用StripPrefix
,除非您愿意,否则没有理由使用完整路径。您可以这样做:
r.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("web/content/desktop"))))
将URL更改为:
<link rel="stylesheet" type="text/css" href="/css/page.css">