如何在golang

时间:2019-07-18 13:40:10

标签: css go

什么是使用golang将图像和CSS文件链接到用作API的html文件的合适方法

我尝试了以下代码,但是CSS和图像未呈现,我使用julienschmidt库路由API。

    var tpl *template.Template

    func init() {

       tpl = template.Must(template.ParseGlob("*.html"))
    }

    func main(){
       router := httprouter.New()
       router.GET("/", indexPage)
    }

    func indexPage(w http.ResponseWriter, r *http.Request, _ httprouter.Params){

       tpl.ExecuteTemplate(w, "index.html", nil)

    }

在index.html中,我使用链接使用外部CSS文件

 <link rel="stylesheet" type="text/css" href="public/css/main.css" />

文件结构是

/go
 /src
  /github.com
   /My_account
    /WebServerProject
     -main.go
     -index.html
     /public
      /css
       -main.css
      /images

1 个答案:

答案 0 :(得分:0)

首先,您需要在Web服务器上提供静态文件,还可以将代码分段到目录中的模板中,然后提供该目录。

r := gin.Default()
files, err := filepath.Glob("./app/templates/*.tmpl")
if err == nil && files != nil {
    r.LoadHTMLGlob("./app/templates/*.tmpl")
}

v1 := r.Group("/v1")
v1.Static("/static", "./_assets/static")