iT邦幫忙

0

gin 要怎麼連接靜態資源 的style.css

  • 分享至 

  • xImage

關於 gin-gonic Static
我要從 main.go 裡面連接 index.tmpl 以及 static的相關靜態檔案,使用

r.StaticFS("/static", http.Dir("./view"))

r.Static("/static", "./view")

這兩種方式,但執行後都讀不到view裡面的style.css檔案
https://ithelp.ithome.com.tw/upload/images/20230207/201481574gU3DtoSF7.png
這是我的main.go檔案

https://ithelp.ithome.com.tw/upload/images/20230207/201481575fo87vaotf.png
index.tmpl檔案
https://ithelp.ithome.com.tw/upload/images/20230207/201481574jjhks2xIx.png
簡單的style.css檔案

可以從index.tmpl裡面的連到style.css,但我想上傳view的static時都沒有反應

https://ithelp.ithome.com.tw/upload/images/20230207/20148157Mi9rbRalDb.png
附上tree

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
JamesDoge
iT邦高手 1 級 ‧ 2023-02-24 09:18:30

如果你想要讓 gin 應用程式可以載入靜態資源,你可以使用 gin-gonicStaticStaticFS 函式,這兩種方法可以讓你將資源與路由進行關聯,方便瀏覽器載入。

下面是一個簡單的範例:

package main

import "github.com/gin-gonic/gin"

func main() {
    router := gin.Default()

    // 載入靜態資源
    router.Static("/static", "./static")

    router.LoadHTMLGlob("templates/*")

    // 路由處理
    router.GET("/", func(c *gin.Context) {
        c.HTML(200, "index.tmpl", gin.H{})
    })

    router.Run(":8080")
}

在上面的例子中,我們使用 router.Static 註冊了一個路由,將路徑 /static 與目錄 ./static 進行了關聯,這樣當你在 index.tmpl 中引用了 /static 目錄下的靜態資源時,就可以輕鬆載入它們了。

如果你的靜態檔案放在 ./view/static 目錄下,可以使用下面的程式碼來註冊路由:

r.StaticFS("/static", http.Dir("./view/static"))

這樣就可以讓 gin 應用程式載入 ./view/static 目錄下的靜態檔案了。

在你的 HTML 檔案中,你可以使用 <link> 標籤來引入 CSS 檔案:

<link rel="stylesheet" type="text/css" href="/static/style.css">

這個範例中,我們引用了 /static/style.css 檔案,這樣瀏覽器就可以正確地載入它了。

zhijiun iT邦新手 4 級 ‧ 2023-02-25 19:22:43 檢舉

很請楚明瞭,謝謝你

我要發表回答

立即登入回答