📜  如何在 golang 中提供 css - CSS (1)

📅  最后修改于: 2023-12-03 15:24:10.797000             🧑  作者: Mango

在 Golang 中提供 CSS 的方法

在 Golang 中提供 CSS 可以通过以下几种方式实现:

1. 内嵌样式表

在 Golang 的 HTML 模板中可以使用内嵌样式表。可以通过 <style> 标签来定义样式表。

示例代码:

package main

import (
    "html/template"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        tmpl := template.Must(template.ParseFiles("index.html"))
        data := struct {
            Title string
            Style string
        }{
            Title: "Hello World",
            Style: `
                body {
                    background-color: #fafafa;
                }
                h1 {
                    color: #333;
                    font-size: 2em;
                    margin: 1em 0;
                }
            `,
        }
        tmpl.Execute(w, data)
    })

    http.ListenAndServe(":8080", nil)
}

在以上示例代码中,将样式表定义在了 Go 代码中,并在 HTML 模板中通过 {{.Style}} 的方式动态引入。

2. 外部样式表

我们也可以将样式表放在外部文件中,通过 HTTP 请求来获取。可以通过 http.ServeFile 或者 http.FileServer 来提供外部样式表。

示例代码:

package main

import (
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        http.ServeFile(w, r, "index.html")
    })

    // 外部样式表所在的目录
    http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("./css"))))

    http.ListenAndServe(":8080", nil)
}
3. CDN 加速

如果我们的站点使用了外部的 CSS 库,可以通过 CDN 的方式来加速加载。可以通过在 HTML 中引入外部 CSS 链接来实现。例如:

<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/4.3.1/css/bootstrap.min.css">

以上是在 Golang 中提供 CSS 的几种方式,可以根据具体需求来选择使用哪种方式。