Golang提供css文件的正确文件路径

时间:2019-01-24 05:52:01

标签: go

我一直在阅读并尝试将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正常工作,因此任何建议都是很好的。

enter image description here

1 个答案:

答案 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">