卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章34873本站已运行393

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

如何使用 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来访问它

所以我尝试做下一步:

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

这不起作用,当我尝试访问 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

卓越飞翔博客
上一篇: 用golang编写简单的ES avg聚合
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏