Gin框架配置静态文件static问题

 更新时间:2026年06月23日 09:19:43   作者:aaronthon  
Gin框架配置静态文件路径指南,详解如何设置静态资源访问路径,以确保如login.html等页面能够正确加载

Gin框架配置静态文件static

Gin框架必须配置完路径才能访问静态文件

// gindemo.go
package main
import (
    "net/http"
    "github.com/gin-gonic/gin"
)
func main() {
    // 创建一个默认的路由引擎
    r := gin.Default()
        // 配置模板
    r.LoadHTMLGlob("templates/**/*")
        // 配置静态文件夹路径 第一个参数是api,第二个是文件夹路径
    r.StaticFS("/static", http.Dir("./static"))
    // GET:请求方式;/hello:请求的路径
    // 当客户端以GET方法请求/hello路径时,会执行后面的匿名函数
    r.GET("/posts/index", func(c *gin.Context) {
        // c.JSON:返回JSON格式的数据
        c.HTML(http.StatusOK, "posts/index.html", gin.H{
            "title": "posts/index",
        })
    })
    r.GET("gets/login", func(c *gin.Context) {
        c.HTML(http.StatusOK, "posts/login.html", gin.H{
            "title": "gets/login",
        })
    })
    // 启动HTTP服务,默认在0.0.0.0:8080启动服务
    r.Run()
}

项目目录

模板login.html

{{define "posts/login.html"}}
<!DOCTYPE html>
<html lang="en">
<link rel="stylesheet" href="../../static/css.css" rel="external nofollow" >
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>posts/index</title>
</head>
<body>
<h1>标题</h1>
{{.title}}
<div>hello</div>
</body>
</html>
{{end}}

结束!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Golang实现带优先级的select

    Golang实现带优先级的select

    这篇文章主要为大家详细介绍了如何在Golang中实现带优先级的select,文中的示例代码讲解详细,对我们学习Golang有一定的帮助,需要的可以参考一下
    2023-04-04
  • 解决GO编译时避免引入外部动态库的问题

    解决GO编译时避免引入外部动态库的问题

    最近碰到一个问题,有一个流量采集的组件中使用到了github.com/google/gopacket 这个库,这个库使用一切正常,但是唯独有一个缺点,编译后的二进制文件依赖于libpcap.so的动态库,这篇文章主要介绍了GO编译时避免引入外部动态库的解决方法,需要的朋友可以参考下
    2022-10-10
  • golang实现简易的分布式系统方法

    golang实现简易的分布式系统方法

    这篇文章主要介绍了golang实现简易的分布式系统方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • Go语言实现钉钉发送通知

    Go语言实现钉钉发送通知

    本文通过代码给大家介绍了Go语言实现钉钉发送通知,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • 详解Golang函数式选项(Functional Options)模式

    详解Golang函数式选项(Functional Options)模式

    什么是函数式选项模式,为什么要这么写,这个编程模式解决了什么问题呢?其实就是为了解决动态灵活的配置不同的参数的问题。下面通过本文给大家介绍Golang函数式选项(Functional Options)模式的问题,感兴趣的朋友一起看看吧
    2021-12-12
  • Golang内存泄漏详解之原因、检测与修复过程

    Golang内存泄漏详解之原因、检测与修复过程

    本文详细介绍了Golang中的内存泄漏问题,包括内存泄漏的定义、分类、影响以及预防和修复方法,通过使用Golang自带的性能分析工具和火焰图工具,可以有效地检测和定位内存泄漏的代码路径,合理的代码设计和定期的代码审查也是预防内存泄漏的关键
    2024-12-12
  • GoLang抽奖系统简易实现流程

    GoLang抽奖系统简易实现流程

    这篇文章主要介绍了GoLang抽奖系统实现流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-12-12
  • Go语言实现切片增删改查的示例代码

    Go语言实现切片增删改查的示例代码

    这篇文章主要为大家详细介绍了Go语言中切片的使用(增删改查),文中的示例代码讲解详细,对我们学习Go语言有一定的帮助,需要的可以参考一下
    2022-04-04
  • Golang开发之字符串与切片问题踩坑记录

    Golang开发之字符串与切片问题踩坑记录

    字符串和切片,都是golang常用的两种内置数据类型,最近在日常工作中,遇到了一个字符串切片导致的问题,记录一下排查问题的过程,避免后续在这种场景上踩坑
    2023-07-07
  • Go Build编译打包文件的完整步骤

    Go Build编译打包文件的完整步骤

    go build命令是用于编译Go语言程序并生成可执行文件,它可以将Go源代码编译成机器代码,并将其打包成可执行文件,方便在不同的操作系统上运行,这篇文章主要给大家介绍了关于Go Build编译打包文件的完整步骤,需要的朋友可以参考下
    2024-02-02

最新评论