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

我正在创建一个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 run)时,我的本地主机总是响应“404 page not found”。当我尝试使用 fmt 提供静态内容时,一切正常。


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


森栏
浏览 151回答 1
1回答

慕尼黑8549860

请注意,如果您在源文件中硬编码相对路径,则启动应用程序时所在的目录很重要。在当前配置中,确保从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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go