html – 在Golang中加载图像和CSS

前端之家收集整理的这篇文章主要介绍了html – 在Golang中加载图像和CSS前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在项目根目录的package main中的server.js中设置了一个路由

http.HandleFunc( “/”,route.IndexHandler)

IndexHandler在包路由中实现,如下所示:

func IndexHandler(w http.ResponseWriter,r *http.Request) {
    data:=struct{
        Name string
    }{
        "My name",}
    util.RenderTemplate(w,"index",data)
}

RenderTemplate函数在包util中实现,如下所示:

func RenderTemplate(w http.ResponseWriter,tmpl string,data interface{}) {
    cwd,_ := os.Getwd()
    t,err := template.ParseFiles(filepath.Join(cwd,"./view/" + tmpl + ".html"))
    if err != nil {
        http.Error(w,err.Error(),http.StatusInternalServerError)
        return
    }
    err = t.Execute(w,data)
    if err != nil {
        http.Error(w,http.StatusInternalServerError)
    }
}

项目中的目录结构如下:

/
/public/css
/public/images
/public/js
/route
/view

index.html视图位于文件夹视图中,路由器位于文件夹路径中

在index.html中,我包含以下资源:

< link rel =“stylesheet”type =“text / css”href =“../ public / css / style.css”>

< img src =“../ public / images / img_landing_page_mac.png”>

请求相应路径时,仍会呈现index.html,但不会加载图像和样式表.如何将它们包含在Golang html模板引擎中?

解决方法

您需要明确要求您的服务器提供静态文件.

http.FileServer

在你的情况下注册另一个处理程

http.Handle("/public/",http.StripPrefix("/public/",http.FileServer(http.Dir("public"))))
原文链接:https://www.f2er.com/html/227790.html

猜你在找的HTML相关文章