У меня есть простое приложение React, которое я хотел бы обслуживать с моего сервера Go.Я слышал, что процесс похож на обслуживание статического html-файла, но я просто не могу заставить его работать.
Когда я пытаюсь просмотреть приложение в браузере, он говорит: «Эта страница неработает "и что" localhost перенаправил слишком много раз "
Вот код, где я запускаю сервер локально, а также пытаюсь обработать приложение реагирования
func main() {
r := mux.NewRouter()
// handle app
buildHandler := http.FileServer(http.Dir("./client/build/index.html"))
r.PathPrefix("/").Handler(buildHandler)
staticHandler := http.StripPrefix("/static/", http.FileServer(http.Dir("./client/build/static")))
r.PathPrefix("/static/").Handler(staticHandler)
r.HandleFunc("/", index).Methods("GET")
srv := &http.Server{
Handler: r,
Addr: "127.0.0.1:8080",
WriteTimeout: 15 * time.Second,
ReadTimeout: 15 * time.Second,
}
// serve
fmt.Println("Server started on PORT 8080")
log.Fatal(srv.ListenAndServe())
}
Воткод для индекса маршрута
func index(w http.ResponseWriter, r *http.Request) {
// not sure if this is necessary
http.ServeFile(w, r, "index.html")
}
Я считаю, что решение простое, и я, скорее всего, где-то делаю небольшую ошибку.