回答

收藏

使用 Gorilla 工具包提供带有根 URL 的静态内容

技术问答 技术问答 544 人阅读 | 0 人回复 | 2023-09-11

我试着用 Gorilla 工具包的mux包在 Go Web 服务器中路由 URL,我有以下 Go 代码:+ a; }0 a" u/ D7 j* }! d" i
    func main()      r := mux.NewRouter()    r.Handle("/",http.FileServer(http.Dir("./static/")))    r.HandleFunc("/search/{searchTerm}",Search)    r.HandleFunc("/load/{dataId}",Load)    http.Handle("/",r)    http.ListenAndServe(":8100",nil)}
    " G* X( Q9 u& ]
目录结构如下:
' Q! P" _- n' a! H
    ...main.gostatic\  | index.html  | js\     |   | css\     | " `* Z# N- R* |8 t" {% d
Javascript 和 CSS 引用文件index.html如下:4 Z* I( u- R& v* _  F. F  T" d
    ......0 Y, W* `- \" I( n# P3 M
当我http://localhost:8100在 Web 访问浏览器时,index.html内容已经成功传输,但是,所有js和cssURL 都回 404。6 J2 m% K/ J! v* P+ z. [
如何让程序从static在子目录中提供文件?
' ~, U; C  N" q" l0 j$ ^                                                               
) i1 t1 ^, R( l& o: J9 {# `    解决方案:                                                               
7 [- s- w4 ]7 x) L, E+ {- G                                                                我想你可能在寻找PathPrefix…% Z( ]& k  ~9 Y1 f6 A2 i
    func main()      r := mux.NewRouter()    r.HandleFunc("/search/{searchTerm}",Search)    r.HandleFunc("/load/{dataId}",Load)    r.PathPrefix("/").Handler(http.FileServer(http.Dir("./static/")))    http.ListenAndServe(":8100",r)}5 |; G' Q) q6 e9 j  [  T* W
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则