Go:使用 gorilla mux 提供 CSS 文件

我有这个目录结构,我正在使用 Gorilla mux:


目录结构


twitter

    layout

        stylesheets

            log.css

        log.html

    twitter.go

按照这里的建议:http : //www.shakedos.com/2014/Feb/08/serving-static-files-with-go.html我这样做了:


var router = mux.NewRouter()


func ServeStatic(router *mux.Router, staticDirectory string) {

    staticPaths := map[string]string{

        "styles": staticDirectory + "stylesheets",

        }

    for pathName, pathValue := range staticPaths {

        pathPrefix := "/" + pathName + "/"

        router.PathPrefix(pathPrefix).Handler(http.StripPrefix(pathPrefix,

        http.FileServer(http.Dir(pathValue))))

    }

}


var staticDirectory = "/layout/"


func main() {

    (//other code)

    ServeStatic(router, staticDirectory)

}

我仍然无法链接 CSS 文件。我究竟做错了什么?


九州编程
浏览 202回答 2
2回答

慕田峪9158850

解决。我在 func main() 中添加了这个router.PathPrefix("/").Handler(http.FileServer(http.Dir("./layout/")))

饮歌长啸

您可以通过更简单的方式完成此操作,而无需在 main() 中添加额外的行:在 ServeStatic 中:在 pathValue 之前添加:“.”+router.PathPrefix(pathPrefix).Handler(http.StripPrefix(pathPrefix,             http.FileServer(http.Dir("."/pathValue))))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go