我是 GoLang 开发的新手,正在尝试制作一个简单的网络应用程序。我一直在关注本教程https://www.youtube.com/watch?v=AiRhWG-2nGU。但是我什至不能提供 index.html 文件。这是我的代码func check(e error) { if e != nil { fmt.Println(e) panic(e) }}func Index(w http.ResponseWriter, r *http.Request) { fmt.Println("Index functoin") indexHTML, err := ioutil.ReadFile("index.html") check(err) fmt.Println(indexHTML) w.Write(indexHTML)}这是产生的错误Index functoinopen index.html: no such file or directory我的树结构是这样的BasicWebServer/BasicWebServer/main.goBasicWebServer/index.htmlBasicWebServer/static/BasicWebServer/static/index.html我想要的只是能够为 index.html 提供服务,因为它是一个已经运行平稳的 AngularJS 应用程序。我试过这样的静态文件router := NewRouter()s := http.StripPrefix("/static/", http.FileServer(http.Dir("./static/")))但它没有用,所以我现在正在尝试我能想到的最基本的方法。请帮忙。
1 回答
慕标5832272
TA贡献1966条经验 获得超4个赞
如果您想BasicWebServer/main.go显示BasicWebServer/index.html,而不是文件夹内的那个static,那么您似乎没有正确配置 HTTP 服务器。
这是您的代码,包含包声明、导入和main按预期工作的函数。
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func check(e error) {
if e != nil {
fmt.Println(e)
panic(e)
}
}
func Index(w http.ResponseWriter, r *http.Request) {
fmt.Println("Index functoin")
indexHTML, err := ioutil.ReadFile("index.html")
check(err)
fmt.Println(indexHTML)
w.Write(indexHTML)
}
func main() {
http.HandleFunc("/", Index)
err := http.ListenAndServe(":8080", nil)
check(err)
}
- 1 回答
- 0 关注
- 271 浏览
添加回答
举报
0/150
提交
取消