为了账号安全,请及时绑定邮箱和手机立即绑定

使用 GO 导入的 Style.css 出现 MIME 错误

使用 GO 导入的 Style.css 出现 MIME 错误

Go
一只斗牛犬 2023-04-17 15:16:48
我刚开始学习 go,我真正想学习做的一件事就是在 go 中制作网站。我看了一些教程并使网站正常工作,但我不知道如何添加样式。我在 Internet 和 stackoverflow 上搜索了一些示例,但找不到真正适合我的示例(并且保持简单)。下面是我最终得到的代码。但我想我现在遇到了一个新问题,因为它在控制台中说:为此,我尝试了很多在互联网上找到的解决方案,但没有一个有效,所以我很确定这是因为我在 go 中错误地导入了 css。去(函数。去):package mainimport (    "html/template"    "net/http")type IndexPage struct {    Title string    SubTitle string}func indexHandler(w http.ResponseWriter, r *http.Request){    p := IndexPage{Title: "Pizza site", SubTitle: "everyone loves pizzas"}     t, _ := template.ParseFiles("index.html")    t.Execute(w,p)}func main() {    http.HandleFunc("/", indexHandler)    http.Handle("/css/", http.FileServer(http.Dir("css")))    http.ListenAndServe(":8080", nil)}HTML(索引.html):<html><head>  <meta charset="utf-8">  <title>Pizzaaaaaaa</title>  <link rel="stylesheet" href="css/style.css" type="text/css"></head><body>    <article>        <h1>            {{ .Title }}            <span class="subtitle">{{ .SubTitle }}</span>        </h1>        <p>Some text</p>    </article></body></html>CSS ( /css/style.css )*{    color: rgb(250, 157, 157);}文件树
查看完整描述

2 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

当您尝试从此网址访问 css 文件时,您的句柄返回 404:/css/*

用这个改变你的CSS句柄:

    http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("./css"))))

*你得到 'text/plain' 因为 404 是纯文本。


查看完整回答
反对 回复 2023-04-17
?
四季花海

TA贡献1811条经验 获得超5个赞

您必须在响应标头中为 css 文件添加 mime 类型。

    if strings.HasSuffix(path, ".css") {
        w.Header().Add("Content-Type", "text/css")
    }

或类似于多种不同 mime 类型的变量。

查看完整回答
反对 回复 2023-04-17
  • 2 回答
  • 0 关注
  • 109 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信