首頁  >  文章  >  後端開發  >  如何使用 Chi 路由器提供靜態資料夾服務

如何使用 Chi 路由器提供靜態資料夾服務

王林
王林轉載
2024-02-09 14:30:10999瀏覽

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

php小編蘋果為您介紹如何使用Chi路由器提供靜態資料夾服務。 Chi是一個輕量級的Go語言網路框架,它提供了簡潔、有效率的路由功能。透過Chi,我們可以輕鬆地建立一個靜態資料夾服務,將靜態檔案直接展示在瀏覽器中。本文將詳細介紹如何設定Chi路由器並提供靜態資料夾服務,讓您的網站更有效率且便利。讓我們來一起了解吧!

問題內容

我想提供具有以下形式的資料夾:

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

我想使用URL的http://localhost/api/static/css/styles.csshttp://localhost/api/static/js/script.js來訪問它

所以我嘗試做下一步:

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

這不起作用,當我嘗試訪問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

以上是如何使用 Chi 路由器提供靜態資料夾服務的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除