首页 >后端开发 >Golang >如何使用 Chi 路由器提供静态文件夹服务

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

王林
王林转载
2024-02-09 14:30:101062浏览

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

php小编苹果为您介绍如何使用Chi路由器提供静态文件夹服务。Chi是一个轻量级的Go语言Web框架,它提供了简洁、高效的路由功能。通过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 错误代码.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

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

以上是如何使用 Chi 路由器提供静态文件夹服务的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除