golang gin 加载 html 超时

标签 go go-gin

Gin加载index.html时总是报错

r := gin.New()
r.Use(gin.Logger())
r.Use(gin.Recovery())
r.LoadHTMLGlob("views/**/*")
r.GET("/", func(g *gin.Context) {
    g.HTML(http.StatusOK, "index/index.html", gin.H{
        "title":"test",
    })

2018/11/27 20:23:46 [Recovery] 2018/11/27 - 20:23:46 panic recovered:
GET / HTTP/1.1
Host: localhost:8080
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cache-Control: max-age=0
Connection: keep-alive
Cookie: pix_k=admin; pix_v=L5lsdrVKJmpAa21DGibdbA%3D%3D
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36


write tcp [::1]:8080->[::1]:55738: i/o timeout
C:/Go/src/runtime/panic.go:505 (0x4300c7)
    gopanic: reflectcall(nil, unsafe.Pointer(d.fn), deferArgs(d), uint32(d.siz), uint32(d.siz))
G:/gowork/src/github.com/gin-gonic/gin/context.go:725 (0xae81de)
    (*Context).Render: panic(err)
G:/gowork/src/github.com/gin-gonic/gin/context.go:734 (0xae82a6)
    (*Context).HTML: c.Render(code, instance)
G:/gowork/src/ihaveadream/routers/routers.go:18 (0xaffa91)
    InitRouter.func1: g.HTML(http.StatusOK, "index/index.html", gin.H{
G:/gowork/src/github.com/gin-gonic/gin/context.go:108 (0xae3952)
    (*Context).Next: c.handlers[c.index](c)
G:/gowork/src/github.com/gin-gonic/gin/recovery.go:52 (0xafca97)
    RecoveryWithWriter.func1: c.Next()
G:/gowork/src/github.com/gin-gonic/gin/context.go:108 (0xae3952)
    (*Context).Next: c.handlers[c.index](c)
G:/gowork/src/github.com/gin-gonic/gin/logger.go:84 (0xafb889)
    LoggerWithWriter.func1: c.Next()
G:/gowork/src/github.com/gin-gonic/gin/context.go:108 (0xae3952)
    (*Context).Next: c.handlers[c.index](c)
G:/gowork/src/github.com/gin-gonic/gin/gin.go:362 (0xaee92c)
    (*Engine).handleHTTPRequest: c.Next()
G:/gowork/src/github.com/gin-gonic/gin/gin.go:328 (0xaee403)
    (*Engine).ServeHTTP: engine.handleHTTPRequest(c)
C:/Go/src/net/http/server.go:2694 (0x7643ca)
    serverHandler.ServeHTTP: handler.ServeHTTP(rw, req)
C:/Go/src/net/http/server.go:1830 (0x75f118)
    (*conn).serve: serverHandler{c.server}.ServeHTTP(w, w.req)
C:/Go/src/runtime/asm_amd64.s:2361 (0x45bcb0)
    goexit: BYTE    $0x90   // NOP


2018/11/27 20:23:46 [Recovery] 2018/11/27 - 20:23:46 panic recovered:
GET / HTTP/1.1
Host: localhost:8080
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cache-Control: max-age=0
Connection: keep-alive
Cookie: pix_k=admin; pix_v=L5lsdrVKJmpAa21DGibdbA%3D%3D
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36


write tcp [::1]:8080->[::1]:55736: i/o timeout
C:/Go/src/runtime/panic.go:505 (0x4300c7)
    gopanic: reflectcall(nil, unsafe.Pointer(d.fn), deferArgs(d), uint32(d.siz), uint32(d.siz))
G:/gowork/src/github.com/gin-gonic/gin/context.go:725 (0xae81de)
    (*Context).Render: panic(err)
G:/gowork/src/github.com/gin-gonic/gin/context.go:734 (0xae82a6)
    (*Context).HTML: c.Render(code, instance)
G:/gowork/src/ihaveadream/routers/routers.go:18 (0xaffa91)
    InitRouter.func1: g.HTML(http.StatusOK, "index/index.html", gin.H{
G:/gowork/src/github.com/gin-gonic/gin/context.go:108 (0xae3952)
    (*Context).Next: c.handlers[c.index](c)
G:/gowork/src/github.com/gin-gonic/gin/recovery.go:52 (0xafca97)
    RecoveryWithWriter.func1: c.Next()
G:/gowork/src/github.com/gin-gonic/gin/context.go:108 (0xae3952)
    (*Context).Next: c.handlers[c.index](c)
G:/gowork/src/github.com/gin-gonic/gin/logger.go:84 (0xafb889)
    LoggerWithWriter.func1: c.Next()
G:/gowork/src/github.com/gin-gonic/gin/context.go:108 (0xae3952)
    (*Context).Next: c.handlers[c.index](c)
G:/gowork/src/github.com/gin-gonic/gin/gin.go:362 (0xaee92c)
    (*Engine).handleHTTPRequest: c.Next()
G:/gowork/src/github.com/gin-gonic/gin/gin.go:328 (0xaee403)
    (*Engine).ServeHTTP: engine.handleHTTPRequest(c)
C:/Go/src/net/http/server.go:2694 (0x7643ca)
    serverHandler.ServeHTTP: handler.ServeHTTP(rw, req)
C:/Go/src/net/http/server.go:1830 (0x75f118)
    (*conn).serve: serverHandler{c.server}.ServeHTTP(w, w.req)
C:/Go/src/runtime/asm_amd64.s:2361 (0x45bcb0)
    goexit: BYTE    $0x90   // NOP

最佳答案

如果您的 index.html 文件位于 views/index/index.html,您应该使用这个通配符。也尝试使用 ./.

r.LoadHTMLGlob("./views/*")
r.GET("/", func(g *gin.Context) {
  g.HTML(http.StatusOK, "index/index.html", gin.H{
    "title":"test",
  }
)

关于golang gin 加载 html 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53500200/

相关文章:

Go 的类型推断算法

go - tls : no renegotiation error on HTTP request

html - 如何在 Gin 上返回 html?

go - 在Golang Gin 中传递外键

golang 资源所有权模式(文件、连接、可关闭)

go - Python 在 golang 中的 setdefault 模拟

go - 安装和构建 Go

go - 如果我在 gin 中使用多个中间件,它们的执行顺序是什么

golang 在子目录中找不到包 gin

Golang如何模板化嵌套结构?