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

我刚开始学习 go,我真正想学习做的一件事就是在 go 中制作网站。我看了一些教程并使网站正常工作,但我不知道如何添加样式。

我在 Internet 和 stackoverflow 上搜索了一些示例,但找不到真正适合我的示例(并且保持简单)。

下面是我最终得到的代码。但我想我现在遇到了一个新问题,因为它在控制台中说:

http://img.mukewang.com/643cf2780001e26706520023.jpg

为此,我尝试了很多在互联网上找到的解决方案,但没有一个有效,所以我很确定这是因为我在 go 中错误地导入了 css。


去(函数。去):


package main


import (

    "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);

}

文件树

http://img4.mukewang.com/643cf2850001227501890127.jpg

一只斗牛犬
浏览 110回答 2
2回答

GCT1015

当您尝试从此网址访问 css 文件时,您的句柄返回 404:/css/*用这个改变你的CSS句柄:&nbsp;&nbsp;&nbsp;&nbsp;http.Handle("/css/",&nbsp;http.StripPrefix("/css/",&nbsp;http.FileServer(http.Dir("./css"))))*你得到 'text/plain' 因为 404 是纯文本。

四季花海

您必须在响应标头中为 css 文件添加 mime 类型。    if strings.HasSuffix(path, ".css") {         w.Header().Add("Content-Type", "text/css")     }或类似于多种不同 mime 类型的变量。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go