gin入门教程(8):渲染与静态文件

ops/2024/10/24 5:15:03/
http://www.w3.org/2000/svg" style="display: none;">

目录结构

/hello-gin
│
├── cmd/
│   └── main.go
├── pkg/
│   └── shared_lib.go
├── internal/
│   └── internal_lib.go
├── api/
│   └── routes.go
├── config/
│   └── config.go
├── migrations/
│   └── migration.sql
└── scripts/└── build.sh
├── templates/
│   └── index.html
└── static/└── style.css

go_26">1. cmd/main.go

这个文件是程序的入口点,设置 Gin 服务器,加载路由和模板。

go">package mainimport ("hello-gin/api""github.com/gin-gonic/gin""net/http"
)func main() {r := gin.Default()// 设置静态文件路径r.Static("/static", "./static")// 加载模板r.LoadHTMLGlob("templates/*")// 注册路由api.RegisterRoutes(r)// 启动服务器r.Run(":8080")
}

go_56">2. api/routes.go

这个文件定义 API 路由和处理逻辑。

go">package apiimport ("github.com/gin-gonic/gin""net/http"
)func RegisterRoutes(r *gin.Engine) {r.GET("/", func(c *gin.Context) {c.HTML(http.StatusOK, "index.html", nil)})
}

3. templates/index.html

保持原样,添加简单的 HTML 模板。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet" href="/static/style.css"><title>Welcome</title>
</head>
<body><h1>Hello, Gin!</h1>
</body>
</html>

4. static/style.css

同样保持原样,添加一些基本样式。

body {font-family: Arial, sans-serif;background-color: #f0f0f0;text-align: center;margin-top: 50px;
}

5. 其他文件

  • pkg/shared_lib.gointernal/internal_lib.go:可以包含你的共享库代码和内部库代码。
  • config/config.go:可用于管理配置文件和环境变量。
  • migrations/migration.sql:可以用于数据库迁移。
  • scripts/build.sh:可以编写构建脚本或其他工具脚本。

运行应用

在项目根目录下运行:

go run cmd/main.go

访问 http://localhost:8080,你应该能看到渲染的 HTML 页面,样式文件也会被正确加载。

总结

以上是根据你的目录架构组织的 Gin 应用示例,展示了如何在项目中处理渲染与静态文件。这样结构清晰,更易于管理和扩展。


http://www.ppmy.cn/ops/128013.html

相关文章

Vue封装组件并发布到npm仓库

前言 使用Vue框架进行开发&#xff0c;组件封装是一个很常规的操作。一个封装好的组件可以在项目的任意地方使用&#xff0c;甚至我们可以直接从npm仓库下载别人封装好的组件来进行使用&#xff0c;比如iview、element-ui这一类的组件库。但是每个公司的业务场景可能不同&…

Python 实现的风控系统(使用了kafka、Faust、模拟drools、redis、分布式数据库)

以下是一个使用 Python 实现的风控系统示例&#xff0c;涵盖以下技术组件&#xff1a; Kafka 消息中间件&#xff1a;用于实时接收支付业务系统传递的交易数据。Faust&#xff08;Kafka Streams 的 Python 等价&#xff09;&#xff1a;用于流式处理 Kafka 中的消息。规则引擎…

axios直接上传binary

axios直接上传二进制文件 、 axios直接上传apk、axios直接上传binary postman中的参数选项中有个binary&#xff0c;平常我们很少使用&#xff0c;可能有的同学遇到这种情况不太会了&#xff0c;认为后端应该有个字段名来接收&#xff0c;或者使用 Formdata&#xff0c;但其实…

报表工具怎么选?山海鲸VS帆软,哪个更适合你?

概述 在国产报表软件市场中&#xff0c;山海鲸报表和帆软这两款工具都占有一席之地&#xff0c;许多企业在选择报表工具时常常在它们之间徘徊。然而&#xff0c;随着企业对数据分析需求的不断增长和复杂化&#xff0c;如何选取一款高效、易用且性价比高的报表工具&#xff0c;…

中小型医院网站:Spring Boot开发策略

2 相关技术简介 2.1 Java技术 Java是一种非常常用的编程语言&#xff0c;在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中&#xff0c;Java的身影无处不在&#xff0c;并且拥有旺盛的生命力。Java的跨平台能力十分强大&#xff0c;只需一次编译&#xff0c;…

15分钟学Go 第1天:Go语言简介与特点

Go语言简介与特点 1. Go语言概述 Go语言&#xff08;又称Golang&#xff09;是由谷歌于2007年开发并在2009年正式发布的一种开源编程语言。它旨在简单、高效地进行软件开发&#xff0c;尤其适合于网络编程和分布式系统。 1.1 发展背景 多核处理器&#xff1a;随着计算机硬件…

SOLID 原则:编写可扩展且可维护的代码

有人告诉过你&#xff0c;你写的是“糟糕的代码”吗&#xff1f; 如果你有&#xff0c;那真的没什么可羞愧的。我们在学习的过程中都会写出有缺陷的代码。好消息是&#xff0c;改进起来相当简单——但前提是你愿意。 改进代码的最佳方法之一是学习一些编程设计原则。你可以将…

毕业设计项目系统:基于Springboot框架的心理咨询评估管理系统,完整源代码+数据库+毕设文档+部署说明

本文关键字&#xff1a;Java编程&#xff1b;Springboot框架&#xff1b;毕业设计&#xff1b;毕设项目&#xff1b;编程实战&#xff1b;医护人员管理系统&#xff1b;项目源代码&#xff1b;程序数据库&#xff1b;毕设文档&#xff1b;开题报告和任务书&#xff1b;项目部署…