Использование начальной загрузки внутри файла tmpl для отображения панели навигации - PullRequest
0 голосов
/ 19 декабря 2018

Я пытаюсь настроить простую навигационную панель для работы с GO.

Go Сервер:

func main() {
    tmpl := template.Must(template.New("navigator.tmpl").ParseFiles("./templates/navigator.tmpl"))

http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
    data := Names{
        PageTitle: "Holy Moly",
    }


    tmpl.Execute(w, data)
})
if err := http.ListenAndServe(":8080", nil); err != nil {
    panic(err)
}
}

Это мой файл шаблона navigator.tmpl

{{ define "navigator" }}<!DOCTYPE html> {{ end }}
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <meta name="description" content="">
    <meta name="author" content="">
    <title>Dashboard Template for Bootstrap</title>
    <!-- Bootstrap core CSS -->
    <link href="/go/src/dashboard/assets/dist/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
    <!-- Custom styles for this template -->
    <link href="dashboard.css" rel="stylesheet">
  </head>
  <body>
    <nav class="navbar navbar-inverse navbar-fixed-top">
      <div class="container-fluid">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>           
          </button>
          <a class="navbar-brand" href="#">{{.PageTitle}}</a>
        </div>
  </body>
</html>

Моя структура каталогов выглядит следующим образом

Go:

=> src

  =>dashboard

    => main.go

    => assets

       =>dist

         =>bootstrap

            =>dist

               =>css/bootstrap.min.css

Я не могу получить загрузочную графику.Я вижу название заголовка, но не вижу навигационную панель rectangualr.

Когда я открываю файл непосредственно в своем браузере, я вижу изображение навигационной панели с заголовком.

Я не уверен вэтот момент, почему графика начальной загрузки не отображается должным образом

1 Ответ

0 голосов
/ 19 декабря 2018

Я предполагаю, что вы не создали никаких маршрутов для статических ресурсов.Поэтому создайте его.

http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("assets"))))

При добавлении вышеуказанного обработчика каждый запрос с префиксом /static/ будет обрабатываться с использованием статических файлов в папке assets.

Далее просто измените URLстатический актив.

<link href="/static/dist/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="/static/dashboard.css" rel="stylesheet"> <!-- I'm not sure where do you put the `dashboard.css` file, so just adjust this one -->
...