如何设置服务 reactjs 应用程序的路由?
How to set up a route to serve reactjs app?
我正在尝试设置一个路由来为我的 reactjs 应用程序提供服务。
我的 index.html 和 bundle.js 在 public 文件夹中
/public/index.html
/public/bundle.js
我使用 go 作为我的后端 API,同时也为我的 reactjs 应用提供服务。
我为我的应用程序创建了一个子路径,例如:
r := mux.NewRouter()
app := r.Host("app.example.com").Subrouter()
因此,任何以应用程序作为子域的请求都将用于我的 Reactjs 应用程序。
所以现在我必须为每个请求提供服务,而不管 URL 到我的 reactjs 应用程序。
这里是我需要的路径前缀吗?
我试过这个:
app.PathPrefix("/").Handler(serveReact)
func serveReact(w http.ResponseWriter, r *http.Request) {
}
但是我得到这个错误:
cannot use serveReact (type func() http.Handler) as type http.Handler
in argument to app.PathPrefix("/").Handler: func() http.Handler does
not implement http.Handler (missing ServeHTTP method)
您的 http 处理程序需要一个 ServeHTTP
方法。如果你将你的函数传递给http.HandlerFunc
,将为你介绍:
app.PathPrefix("/").Handler(http.HandlerFunc(serveReact))
func serveReact(w http.ResponseWriter, r *http.Request) {
}
The HandlerFunc type is an adapter to allow the use of ordinary functions as HTTP handlers. If f is a function with the appropriate signature, HandlerFunc(f) is a Handler that calls f.
type HandlerFunc func(ResponseWriter, *Request)
// ServeHTTP calls f(w, r).
func (f HandlerFunc) ServeHTTP(w ResponseWriter, r *Request) {
f(w, r)
}
同样,您可以改用 mux 路由器 HandlerFunc
:
app.PathPrefix("/").HandlerFunc(serveReact)
func serveReact(w http.ResponseWriter, r *http.Request) {
}
这实际上是在一个组合步骤中为您执行这两个步骤。
我正在尝试设置一个路由来为我的 reactjs 应用程序提供服务。
我的 index.html 和 bundle.js 在 public 文件夹中
/public/index.html
/public/bundle.js
我使用 go 作为我的后端 API,同时也为我的 reactjs 应用提供服务。
我为我的应用程序创建了一个子路径,例如:
r := mux.NewRouter()
app := r.Host("app.example.com").Subrouter()
因此,任何以应用程序作为子域的请求都将用于我的 Reactjs 应用程序。
所以现在我必须为每个请求提供服务,而不管 URL 到我的 reactjs 应用程序。
这里是我需要的路径前缀吗?
我试过这个:
app.PathPrefix("/").Handler(serveReact)
func serveReact(w http.ResponseWriter, r *http.Request) {
}
但是我得到这个错误:
cannot use serveReact (type func() http.Handler) as type http.Handler in argument to app.PathPrefix("/").Handler: func() http.Handler does not implement http.Handler (missing ServeHTTP method)
您的 http 处理程序需要一个 ServeHTTP
方法。如果你将你的函数传递给http.HandlerFunc
,将为你介绍:
app.PathPrefix("/").Handler(http.HandlerFunc(serveReact))
func serveReact(w http.ResponseWriter, r *http.Request) {
}
The HandlerFunc type is an adapter to allow the use of ordinary functions as HTTP handlers. If f is a function with the appropriate signature, HandlerFunc(f) is a Handler that calls f.
type HandlerFunc func(ResponseWriter, *Request)
// ServeHTTP calls f(w, r).
func (f HandlerFunc) ServeHTTP(w ResponseWriter, r *Request) {
f(w, r)
}
同样,您可以改用 mux 路由器 HandlerFunc
:
app.PathPrefix("/").HandlerFunc(serveReact)
func serveReact(w http.ResponseWriter, r *http.Request) {
}
这实际上是在一个组合步骤中为您执行这两个步骤。