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
我正在创建 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