Http Go服务器未正确提供文件

Http Go服务器未正确提供文件,http,web,go,webserver,localhost,Http,Web,Go,Webserver,Localhost,我正在做水疗。 我正在尝试使用index.html响应所有请求 (我在前端处理布线) 我的目录结构如下所示: package main import ( "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { http.ServeFile(w, r, "../Frontend/index.html") } func main() { http.HandleFunc("/", handle

我正在做水疗。 我正在尝试使用index.html响应所有请求 (我在前端处理布线)

我的目录结构如下所示:

package main

import (
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    http.ServeFile(w, r, "../Frontend/index.html")
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}
后端

--梅因,加油

前端

..(其他一些文件)

--index.html

整个项目位于“C:\Go\Projects\src\github.com\Congady\Bakalarka”

我的main.go文件如下所示:

package main

import (
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    http.ServeFile(w, r, "../Frontend/index.html")
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}
当我运行main.go文件(使用go-run)时,我的本地主机总是以“404未找到页面”作为响应。 当我尝试使用fmt提供静态内容时,一切都很好

请帮帮我,我在这件事上耽搁了很长时间,我无法让它工作。
谢谢

请注意,如果在源文件中硬编码相对路径,则启动应用程序时所处的目录很重要

在当前配置中,确保从
后端
目录启动应用程序,即

C:\Go\Projects\src\github.com\Congady\Bakalarka\Backend

您的应用程序根目录

C:\Go\Projects\src\github.com\Congady\Bakalarka

将主文件中的字符串更改为Frontend/index.html,然后从


C:\Go\Projects\src\github.com\congrady\Bakalarka

我确实试过你的代码,但它在这里工作。由于您使用的是相对路径,您是否确保您是从
后端
目录而不是项目根目录中运行应用程序?您好,感谢您迄今为止的回答。我正在运行这个脚本:“go run C:\go\Projects\src\github.com\Congady\Bakalarka\Backend\main.go”,我的Gopath是“C:\go\Projects\”,顺便说一句,我想我的go代码工作过一次,但突然停止了工作。还有别的问题吗?(依赖项、localhost的工作方式等)我认为Go lang根本找不到我的html文件。这是关于工作目录的,即运行命令时所在的目录。正如我在评论中所说的,您的代码还可以。