gin 静态资源站点

一般网站开发中,我们会考虑把js,css,以及资源图片放在一起,作为静态站点部署在CDN,提升响应速度。采用Gin实现起来非常简单,当然也可以使用net/http包轻松实现,但使用Gin会更方便。

不管怎么样,使用Go开发,我们可以不用花太多时间在WEB服务环境搭建上,程序启动就直接可以提供WEB服务了。

package main
import (
    "net/http"
    "github.com/gin-gonic/gin"
)
func main() {
    router := gin.Default()
    // 静态资源加载,本例为css,js以及资源图片
    router.StaticFS("/public", http.Dir("D:/goproject/src/github.com/ffhelicopter/tmm/website/static"))
    router.StaticFile("/favicon.ico", "./resources/favicon.ico")
    // Listen and serve on 0.0.0.0:80
    router.Run(":80")
}

首先需要是生成一个Engine ,这是gin的核心,默认带有Logger 和 Recovery 两个中间件。

router := gin.Default()

StaticFile 是加载单个文件,而StaticFS 是加载一个完整的目录资源:

func (group *RouterGroup) StaticFile(relativePath, filepath string) IRoutes
func (group *RouterGroup) StaticFS(relativePath string, fs http.FileSystem) IRoutes

这些目录下资源是可以随时更新,而不用重新启动程序。现在编译运行程序,静态站点就可以正常访问了。

访问http://localhost/public/images/logo.jpg 图片加载正常。每次请求响应都会在服务端有日志产生,包括响应时间,加载资源名称,响应状态值等等。

原文:https://www.bookstack.cn/read/go42/content-42_42_gin.md

猜你喜欢

转载自blog.csdn.net/zhizhengguan/article/details/89094592
今日推荐