html – 在Golang中加载图像和CSS

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

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

func IndexHandler(w http.ResponseWriter,r *http.Request) {
    data:=struct{
        Name string
    }{
        "My name",}
    util.RenderTemplate(w,"index",data)
}
@H_403_2@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)
    }
}
@H_403_2@项目中的目录结构如下:

/
/public/css
/public/images
/public/js
/route
/view
@H_403_2@index.html视图位于文件夹视图中,路由器位于文件夹路径中

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

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

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

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

解决方法

您需要明确要求您的服务器提供静态文件. @H_403_2@见http.FileServer

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

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

猜你在找的HTML相关文章