如何使用 golang Gorilla mux 找到 CSS 个文件
How can I find CSS files using golang Gorilla mux
我正在使用 Go 和 Gorilla Mux。
这是我的 webserver.go 文件
package main
import (
"log"
"net/http"
"github.com/gorilla/mux"
)
func HomeHandler(rw http.ResponseWriter, r *http.Request) {
http.ServeFile(rw, r, "index.html")
}
func main() {
r := mux.NewRouter()
r.HandleFunc("/", HomeHandler)
http.Handle("/", r)
log.Println("Server running on :8080")
err := http.ListenAndServe(":8080", r)
if err != nil {
log.Printf("Error: %s\n", err.Error())
}
}
在 webserver.go 文件所在的同一文件夹中是 index.html 文件。
/ - 这里是 index.html
/css - 所有 CSS 个文件
/images - 所有图片、资源文件
我设法使用上面的代码加载 index.html 文件,但它似乎没有加载 CSS 文件和图像。
在我的 index.html 文件中。
<link rel="stylesheet" type="text/css" href="css/demo.css" />
<link rel="stylesheet" type="text/css" href="css/style.css" />
<link rel="stylesheet" type="text/css" href="css/animate-custom.css" />
所以它应该找到 css 文件,还是我必须确保 "Go" 可以找到 css 和图像文件夹?
怎么样?
您可以使用 http.FileServer 独立于 gorilla/mux
提供所有静态文件。
package main
import (
"log"
"net/http"
"github.com/gorilla/mux"
)
func HomeHandler(rw http.ResponseWriter, r *http.Request) {
http.ServeFile(rw, r, "index.html")
}
func main() {
r := mux.NewRouter()
cssHandler := http.FileServer(http.Dir("./css/"))
imagesHandler := http.FileServer(http.Dir("./images/"))
http.Handle("/css/", http.StripPrefix("/css/", cssHandler))
http.Handle("/images/", http.StripPrefix("/images/", imagesHandler))
r.HandleFunc("/", HomeHandler)
http.Handle("/", r)
log.Println("Server running on :8080")
log.Fatal(http.ListenAndServe(":8080", nil))
}
我正在使用 Go 和 Gorilla Mux。
这是我的 webserver.go 文件
package main
import (
"log"
"net/http"
"github.com/gorilla/mux"
)
func HomeHandler(rw http.ResponseWriter, r *http.Request) {
http.ServeFile(rw, r, "index.html")
}
func main() {
r := mux.NewRouter()
r.HandleFunc("/", HomeHandler)
http.Handle("/", r)
log.Println("Server running on :8080")
err := http.ListenAndServe(":8080", r)
if err != nil {
log.Printf("Error: %s\n", err.Error())
}
}
在 webserver.go 文件所在的同一文件夹中是 index.html 文件。
/ - 这里是 index.html
/css - 所有 CSS 个文件
/images - 所有图片、资源文件
我设法使用上面的代码加载 index.html 文件,但它似乎没有加载 CSS 文件和图像。
在我的 index.html 文件中。
<link rel="stylesheet" type="text/css" href="css/demo.css" />
<link rel="stylesheet" type="text/css" href="css/style.css" />
<link rel="stylesheet" type="text/css" href="css/animate-custom.css" />
所以它应该找到 css 文件,还是我必须确保 "Go" 可以找到 css 和图像文件夹? 怎么样?
您可以使用 http.FileServer 独立于 gorilla/mux
提供所有静态文件。
package main
import (
"log"
"net/http"
"github.com/gorilla/mux"
)
func HomeHandler(rw http.ResponseWriter, r *http.Request) {
http.ServeFile(rw, r, "index.html")
}
func main() {
r := mux.NewRouter()
cssHandler := http.FileServer(http.Dir("./css/"))
imagesHandler := http.FileServer(http.Dir("./images/"))
http.Handle("/css/", http.StripPrefix("/css/", cssHandler))
http.Handle("/images/", http.StripPrefix("/images/", imagesHandler))
r.HandleFunc("/", HomeHandler)
http.Handle("/", r)
log.Println("Server running on :8080")
log.Fatal(http.ListenAndServe(":8080", nil))
}