为了账号安全,请及时绑定邮箱和手机立即绑定

Golang 模板在不同目录级别上提供 css

Golang 模板在不同目录级别上提供 css

Go
凤凰求蛊 2021-06-23 18:17:56
我正在使用 golang 的“html/template”包在使用相同 _base.html 作为框架的多个页面上提供内容。我将多个 html 文件(_base.html 和内容文件)合并为一个文件。func main() {http.HandleFunc("/", indexHandler)http.HandleFunc("/blog/", blogHandler)http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("http/css"))))http.ListenAndServe(":1337", nil)}func indexHandler(w http.ResponseWriter, r *http.Request) {index := template.Must(template.ParseFiles(    "http/html/_base.html",    "http/html/index.html",))index.Execute(w, nil)}func blogHandler(w http.ResponseWriter, r *http.Request) {blog := template.Must(template.ParseFiles(    "http/html/_base.html",    "http/html/blog.html",))blog.Execute(w, nil)}在我的网络服务器的根目录上这样做我的 css 渲染得很好,因为 _base.html 中我的 .css 的 html 链接标记指向正确的目录,使用:<link href="css/style.css" rel="stylesheet">但是,当我从 / 导航到 /blog/ 时,我的 css 下降了一个级别(或者我上升了一个级别,但是您希望看到它),因此 css href 突然指向 /blog/css/style.css 和因此它不会呈现。这可以很容易地修复,说明我与 _base.html 合并的每个内容文件中的 css 级别,但是我觉得必须有另一种更清晰的不同方式。在这种情况下,是否存在或我的直觉判断错误?
查看完整描述

1 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

没有测试过,所以我不太确定,但是如何改变

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

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

?


查看完整回答
反对 回复 2021-06-28
  • 1 回答
  • 0 关注
  • 250 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信