golang Windows环境下 http设置静态目录

网上查看 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)

  }

}

你可能感兴趣的:(golang Windows环境下 http设置静态目录)