Home >Backend Development >Golang >How to serve static folders using Chi Router
php editor Apple introduces you how to use Chi router to provide static folder services. Chi is a lightweight Go language web framework that provides simple and efficient routing functions. Through Chi, we can easily build a static folder service and display static files directly in the browser. This article will introduce in detail how to configure Chi router and provide static folder services to make your website more efficient and convenient. Let’s find out together!
I want to provide a folder with the following form:
my-project/ - public/ <- The folder that I want to serve and also all the subfolders and files - css/ - styles.css - js/ - script.js - main.go
I want to use the URL's http://localhost/api/static/css/styles.css
and http://localhost/api/static/js/script.js
to access it
So I tried to do the next step:
<code>package main import ( "log" "net/http" "github.com/go-chi/chi/v5" ) func main() { r := chi.NewRouter() r.Handle("/api/static/*", http.StripPrefix("/public/", http.FileServer(http.Dir("./public")))) if err := http.ListenAndServe(":80", r); err != nil { log.Fatal(err) } } </code>
This doesn't work when I try to access http://localhost/api/static/css/styles.css
or http://localhost/api/static/js/script It gives me a HTTP 404 error code.js
You have to strip /api/static
from the path, so for example , if the request comes from /api/static/css/styles.css
, stripping it will leave css/styles.css
, which will be in ./public
Search below and get ./public/css/styles.css
.
The above is the detailed content of How to serve static folders using Chi Router. For more information, please follow other related articles on the PHP Chinese website!