package main import ( "embed" "io/fs" "log" "net/http" ) const development = true //go:embed www var embeddedFiles embed.FS var webfs http.FileSystem func init() { if development { webfs = http.Dir("./www") } else { // Embed the ./www folder and trim the prefix subFS, err := fs.Sub(embeddedFiles, "www") if err != nil { log.Fatal(err) } webfs = http.FS(subFS) } } func main() { http.Handle("/", http.FileServer(webfs)) addr := ":8080" log.Printf("Serving on http://localhost%s\n", addr) log.Fatal(http.ListenAndServe(addr, nil)) }