登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-04-12 08:15:35 170浏览 收藏

怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《使用 GO 导入的 Style.css 出现 MIME 错误》,涉及到,有需要的可以收藏一下

问题内容

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

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

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

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

go(functions.go):

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 (index.html):



  
  pizzaaaaaaa
  


    

{{ .title }} {{ .subtitle }}

some text

css ( /css/style.css )

*{
    color: rgb(250, 157, 157);
}

文件树


解决方案


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

用这个改变你的css句柄:

http.handle("/css/", http.stripprefix("/css/", http.fileserver(http.dir("./css"))))

*您得到“text/plain”,因为 404 是纯文本。

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

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

或者类似的东西,用一个变量来表示多种不同的 mime 类型。

编辑:

另请检查此 go lang 包以包含更好的 mime 类型处理:

https://golang.org/pkg/mime/

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>