gpt4 book ai didi

Golang 句柄静态文件夹

转载 作者:数据小太阳 更新时间:2023-10-29 03:39:48 25 4
gpt4 key购买 nike

我无法将文件放在静态文件夹中。我正在使用 gorilla mux 包。

ma​​in.go代码:

fs := http.FileServer(http.Dir("static"))
mainRouter.PathPrefix("/static/").Handler(http.StripPrefix("/static/", fs))
http.Handle("/", &mainRouter)

项目结构:

static
templates
--style
--javascript
--...
main.go

当我点击索引页时:

loclalhost:8080/cruise_schedule

我得到了所有的样式表和js文件,但是当我跳转到另一个页面时:

localhost:8080/cruise_schedule/selected_cruise/e58ed042aad24b9b87fba8917c085534

我收到以下错误:

Refused to apply style from 'http://localhost:8080/cruise_schedule/static/style/style.css' because its MIME type ('text/plain') is not a supported stylesheet MIME type, and strict MIME checking is enabled.

和:

http://localhost:8080/cruise_schedule/static/javascript/resources.js 

我应该怎么做才能正确提供静态文件?

最佳答案

这里不是您的 Go 应用程序有问题,而是您生成的 HTML 输出。

您的错误消息表明您的子页面试图从 http://localhost:8080/cruise_schedule/static/... 加载其 CSS ,当它实际上应该http://localhost:8080/static/...加载时.第一个 URL 不会提供静态文件,因为它不低于 /static前缀,您的应用程序可能会提供其默认的 404 页面(可能是 text/plain 页面)。

为了解决这个问题,我建议您使用 CSS 的绝对路径 ( <link href="/static/... ) 或使用适当的 <base> 标签。

关于Golang 句柄静态文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49198742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com