Add a simple go server to serve the frontends

This commit is contained in:
2024-06-19 22:22:01 -04:00
parent c57fc11c5e
commit 58e435a7bd
5 changed files with 80 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
package reactNextJS
import (
"embed"
"fmt"
"io/fs"
"net/http"
)
//go:embed "out/*"
var nextFiles embed.FS
//go:embed "out/_next"
var nextScripts embed.FS
// Call this from main once before starting the server
func AddNextStaticClient() {
scriptsSubFolder, err := fs.Sub(nextScripts, "out")
if err != nil {
panic(fmt.Sprint("Error: Could not find \"reactNextJS/out/\". Did you build the reactNextJS client?"))
}
filesSubFolder, _ := fs.Sub(nextFiles, "out")
var nextScriptsServer = http.FileServerFS(scriptsSubFolder)
var nextFilesServer = http.FileServerFS(filesSubFolder)
http.Handle("/reactNextJS/", http.StripPrefix("/reactNextJS/", nextFilesServer))
http.Handle("/_next/", nextScriptsServer)
}