How do I serve static files with Chi in Go?

In this example, we'll explore how to serve static files using the Chi router in Go. Chi is a lightweight, idiomatic HTTP router for building Go applications. It allows you to easily set up routes and serve files from your server.

Example Code

package main import ( "net/http" "github.com/go-chi/chi/v5" ) func main() { r := chi.NewRouter() // Serve static files from the "static" directory r.Route("/static", func(r chi.Router) { r.Use(http.StripPrefix("/static", http.FileServer(http.Dir("static")))) r.Get("/*", http.FileServer(http.Dir("static"))) }) // Start the server on port 8080 http.ListenAndServe(":8080", r) }

Go Chi HTTP router static files web server