Maison >développement back-end >Golang >Comment servir des dossiers statiques à l'aide de Chi Router

Comment servir des dossiers statiques à l'aide de Chi Router

王林
王林avant
2024-02-09 14:30:101056parcourir

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

Éditeur PHP Apple vous présente comment utiliser le routeur Chi pour fournir des services de dossiers statiques. Chi est un framework Web léger en langage Go qui fournit des fonctions de routage simples et efficaces. Grâce à Chi, nous pouvons facilement créer un service de dossiers statiques et afficher les fichiers statiques directement dans le navigateur. Cet article présentera en détail comment configurer le routeur Chi et fournir des services de dossiers statiques pour rendre votre site Web plus efficace et plus pratique. Découvrons-le ensemble !

Contenu de la question

Je souhaite fournir un dossier ayant la forme suivante :

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

Je souhaite y accéder en utilisant l'URL http://localhost/api/static/css/styles.csshttp://localhost/api/static/js/script.js

J'ai donc essayé l'étape suivante :

<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>

Cela ne fonctionne pas lorsque j'essaie d'accéder à http://localhost/api/static/css/styles.css ou http://localhost/api/static/js/script , cela me donnera une erreur HTTP 404 code.jshttp://localhost/api/static/css/styles.csshttp://localhost/api/static/js/script 时,它会给我一个 HTTP 404 错误代码.js

解决方法

您必须从路径中剥离 /api/static ,因此,例如,如果请求来自 /api/static/css/styles.css ,剥离它将留下 css/styles.css ,这将在 ./public 下查找,得到 ./public/css/styles.css

Solution de contournement🎜🎜Vous devez supprimer /api/static du chemin, donc par exemple, si la requête vient de /api/static/css/styles.css, le supprimer laissera css/styles.css, qui sera recherché sous ./public pour obtenir ./public/css/styles.css. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer