我正在构建一个 api,它也为我的 React 前端应用程序提供服务,但是在为我的 index.html 提供服务时遇到了问题
鉴于它不是真正的 go 模板,我没有使用 html/template。
我没有看到在所有未在路由中启动 /api 的页面上为我的应用程序的静态 html 根提供服务的严格方式。
除了 gorilla 的 mux,我故意不使用任何 Go 框架
我的 handler.go:
func Index(w http.ResponseWriter, r *http.Request) {
http.FileServer(http.Dir("./views"))
}
Routes.go:
type Route struct {
Name string
Method string
Pattern string
HandlerFunc http.HandlerFunc
}
type Routes []Route
var routes = Routes{
Route{
"Index",
"GET",
"/",
Index,
},
}
路由器
import (
"net/http"
"github.com/gorilla/mux"
)
func NewRouter() *mux.Router {
router := mux.NewRouter().StrictSlash(true)
for _, route := range routes {
var handler http.Handler
handler = route.HandlerFunc
handler = Logger(handler, route.Name)
router.
Methods(route.Method).
Path(route.Pattern).
Name(route.Name).
Handler(handler)
}
return router
}
主要的:
package main
import (
"./server"
"log"
"net/http"
)
func main() {
router := server.NewRouter()
log.Fatal(http.ListenAndServe(":8080", router))
}
目前出现一个空白页面,仅此而已。我的 index.html 位于/views/index.html与可执行文件相关的位置(但我也尝试过与处理程序相关)
MMMHUHU
九州编程
随时随地看视频慕课网APP
相关分类