How to serve static folders using Chi Router

王林
Release: 2024-02-09 14:30:10
forward
1002 people have browsed it

如何使用 Chi 路由器提供静态文件夹服务

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!

Question content

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
Copy after login

I want to use the URL's http://localhost/api/static/css/styles.css and http://localhost/api/static/js/script.jsto 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>
Copy after login

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

Workaround

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!

Related labels:
source:stackoverflow.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!