Heim >Backend-Entwicklung >Golang >So stellen Sie statische Ordner mit Chi Router bereit

So stellen Sie statische Ordner mit Chi Router bereit

王林
王林nach vorne
2024-02-09 14:30:101043Durchsuche

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

php-Editor Apple stellt Ihnen vor, wie Sie den Chi-Router verwenden, um statische Ordnerdienste bereitzustellen. Chi ist ein leichtes Web-Framework in Go-Sprache, das einfache und effiziente Routing-Funktionen bietet. Durch Chi können wir ganz einfach einen statischen Ordnerdienst erstellen und statische Dateien direkt im Browser anzeigen. In diesem Artikel erfahren Sie im Detail, wie Sie den Chi-Router konfigurieren und statische Ordnerdienste bereitstellen, um Ihre Website effizienter und komfortabler zu gestalten. Finden wir es gemeinsam heraus!

Frageninhalt

Ich möchte einen Ordner mit folgender Form bereitstellen:

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

Ich möchte über die URL http://localhost/api/static/css/styles.csshttp://localhost/api/static/js/script.js

darauf zugreifen

Also habe ich den nächsten Schritt versucht:

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

Dies funktioniert nicht, wenn ich versuche, auf http://localhost/api/static/css/styles.css oder http://localhost/api/static/js/script zuzugreifen , es wird mir ein HTTP 404-Fehlercode angezeigt code> /api/static/css/styles.css, durch das Entfernen bleibt css/styles.css übrig, das unter ./public nachgeschlagen wird um ./public/css/styles.css zu erhalten. http://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

Das obige ist der detaillierte Inhalt vonSo stellen Sie statische Ordner mit Chi Router bereit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen