Skip to content

Mmx233/GinWebServe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GinWebServe

Serve embeded SPA static website in gin, index.html is required.

Usage

// /web/embed.go
package web

import (
	"embed"
	"io/fs"
)

//go:embed dist/*
var dist embed.FS

func Fs() (fs.FS, error) {
	return fs.Sub(dist, "dist")
}
// /internal/router/frontend.go
package router

import (
	webServe "github.com/Mmx233/GinWebServe"
	"github.com/gin-gonic/gin"
	"your-project/web"
	"log"
)

func frontendHandler() gin.HandlerFunc {
	fs, err := web.Fs()
	if err != nil {
		log.Fatalln(err)
	}

	handler, err := webServe.New(fs)
	if err != nil {
		log.Fatalln(err)
	}

	return handler
}
// /internal/router/init.go
package router

import (
	"github.com/gin-gonic/gin"
)

var E *gin.Engine

func init() {
	gin.SetMode(gin.ReleaseMode)
	E = gin.Default()

	// place it after all other routes
	E.Use(frontendHandler())
}

About

embedded gin static web handler

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages