我目前正在尝试建立一个项目,在该项目中我们有一个单独的客户端前端和后端。在这个项目中,我使用vue-cli-service快速创建了一个包含必要样板的VueJS客户端。我还尝试使用golang中的大猩猩多路复用器路由器运行此前端。
我对该项目的代码结构如下(我相信这给我带来了问题):
Multiplayer Piano
-> handlers (used for handling the gorilla mux routes) [Irrelevant atm]
-> UI (Where my front-end is contained
-> node_modules
-> public
-> index.html
-> src
-> App.vue
-> main.js
-> routes.go
-> server.go (Where my main function is)
问题是,当我跑步时
go run ./
服务器已启动,我可以看到其中包含的index.html,但是app元素上未安装任何东西。
server.go当前具有以下逻辑:
func main()
{
router := mux.NewRouter()
AddAppRoutes(router)
log.Fatal(http.ListenAndServe(":8080", router)
}
AddAppRoutes函数位于routes.go中,其定义如下:
package main
import ...
func setStaticFolder(route *mux.Router)
{
// What i'm trying to do here is serve our JS... however I don't think i'm doing it correctly
// I believe this is where the issues are
fs := http.FileServer(http.Dir("./UI/src"))
route.PathPrefix("/UI/src").Handler(http.StripPrefix("/UI/src", fs))
}
func AddAppRoutes()
{
setStaticFolder(route)
// This is where we handle and serve our index.html
route.Handlefunc("/", handlers.RenderHome)
}
处理程序中的renderhome定义如下:
func RenderHome(response http.ResponseWriter, request *http.Request)
{
// Serving the html
http.ServeFile(response, request, "UI/public/index.html")
}
想知道我是否可以得到一些帮助,以使其正常工作... 谢谢!