Go 服务器无法正确提供文件

Go server not serving files properly

我正在创建 SPA。 我正在尝试用 index.html 响应所有请求 (我在前端处理路由)。

我的目录结构是这样的:

后端

-- main.go

前端

..(一些其他文件)..

-- index.html

整个项目位于"C:\Go\Projects\src\github.com\congrady\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 运行)时,我的本地主机总是响应“404 页面未找到”。 当我尝试使用 fmt 提供静态内容时,一切正常。

请帮忙,我在这个问题上坚持了很长时间,我无法让它工作。 谢谢

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

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

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

不是你的应用根目录

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

将主文件中的字符串更改为 Frontend/index。html 和 运行 来自

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