网上查看 https://www.ctolib.com/topics-80226.html,等一众文章介绍http设置静态目录的路径,用的都是"/Users/chenjiebin/Sites/goexample/net/http/static",可能是Linux环境下的目录路径,亲测windows下相当路径的格式" 文件名/.." 不需要最前面加个"/"
用golang开发http服务的时候,有时会需要一个静态目录来存放css,js和image图片,并且能通过http访问到。在golang可以用http.FileServer来处理。
package main
import (
"fmt"
"html/template"
"log"
"net/http"
//"strings"
)
func sayhelloword(w http.ResponseWriter, r *http.Request) {
fmt.Println("sayhelloword")
fmt.Fprintf(w, "Hello World by LJJ!") //这个写入到w的是输出到客户端的
}
func reactWebPage(w http.ResponseWriter, r *http.Request) {
file := "staticBuild/index.html"
t, _ := template.ParseFiles(file)
t.Execute(w, "Hello world")
}
func main() {
http.HandleFunc("/helloword", sayhelloword) //设置访问的路由 进入路由/helloword后,先调用sayhelloword,还会调用sayhelloName可能是因为“/”
http.HandleFunc("/reactWebPage", reactWebPage)
// 设置静态目录
fsh := http.FileServer(http.Dir("staticBuild/static"))
http.Handle("/static/", http.StripPrefix("/static/", fsh))
err := http.ListenAndServe(":9090", nil) //设置监听的端口
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
网友评论