cssが適用されずに困っています。
Bootstrapなどではうまくいくのですが、、、ファイルのパスがうまくいってないようなのですがe.Static
に何が問題があるのかわかりません。
以下のようにファイルを配置しています。
. ├── hello.html ├── main.go └── public └── hello.css
そしてmain.go
はこのようになっています。
package main import ( "github.com/labstack/echo" "github.com/labstack/echo/middleware" "html/template" ) func main() { e := echo.New() t := Template{ Templates: template.Must(template.ParseGlob("public/html/*.html")), } e.Renderer = t e.Static("/public/", "./public/") e.Use(middleware.Logger()) e.Use(middleware.Recover()) e.GET("/login", LoginForm()) e.Start(":5050") } func LoginForm() echo.HandlerFunc { return func(c echo.Context) error { return c.Render(http.StatusOK, "hello", "komikomi") } } type Template struct { Templates *template.Template } func (t *Template) Render(w io.Writer, name string, data interface{}, c echo.Context) error { return t.Templates.ExecuteTemplate(w, name, data) }
htmlはこのようになっています。
{{ define "hello" }} <html> <head> <link rel="stylesheet" type="text/css" href="./public/hello.css"> </head> <body> <p>{{.}}</p> </body> </html> {{end}}
しかしこれはcssが読み込まれません。
どうようにしたら読み込まれるでしょうか?
有識者の方、お願い致します。
まずはブラウザ等で「http://localhost/public/hello.css」にアクセスして CSSの文字列がダウンロード出来る事を確かめる方が先ですね。