一共有三种方法,直接上代码
package main
import (
"log"
"net/http"
"path/filepath"
)
// 初始化参数
func main() {
http.Handle("/", http.HandlerFunc(httpProcess))
// http.Handle("/dist", http.StripPrefix("/dist", http.FileServer(http.Dir("dist"))))
err := http.ListenAndServe(":8080", nil)
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
func httpProcess(w http.ResponseWriter, r *http.Request) {
//第一种方法,直接读取对应文件,反馈给前端
// contents, err := ioutil.ReadFile("./dist/index.html")
// if err != nil {
// fmt.Fprintf(w, "404")
// return
// }
// fmt.Fprintf(w, "%s\n", contents)
//第二种方法,反馈对应index主页给前端
http.ServeFile(w, r, filepath.Join("dist", "index.html"))
}
main.go的文件位置和dist文件夹在同一级
image.png
第一种方法返回,正常的index
image.png
第二种方法返回,也是可以正常反馈index主页
第三种方法,使用FileServer函数反馈,静态资源目录
注意,注意,注意使用的时候分清楚这两个函数的区别