Awesome
gofiber-minifier
Introduction
Minifier for Fiber ("gofiber") supporting HTML5, CSS3, and JavaScript.
<a href="https://gofiber.io"> <picture style="float:right; margin-right: 25px"> <source height="75" media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/gofiber/docs/master/static/img/logo-dark.svg"> <img height="75" alt="Fiber Logo" style="float: right; margin-right: 25px" src="https://raw.githubusercontent.com/gofiber/docs/master/static/img/logo.svg"> </picture> </a>Fiber is an Express inspired web framework built on top of Fasthttp, the fastest HTTP engine for Go. Designed to ease things up for fast development with zero memory allocation and performance in mind.
Minification is the process of removing characters like whitespaces, tab stops, or CR/LR from files without changing their meaning, ultimately shrinking file size and speeding up transmission over the internet.
Install
go get github.com/beyer-stefan/gofiber-minifier
Usage
package main
import (
"github.com/gofiber/fiber"
"github.com/beyer-stefan/gofiber-minifier"
)
func main() {
app := fiber.New()
(...)
app.Use(minifier.New(minifier.Config{
MinifyHTML: true,
}))
// static files ...
// application routes ...
(...)
}
Handling Warn messages
If you put the minifier before your static content and your application routes you will most likely see warning messages similar to this one:
(...) minifier.go:77: [Warn] minifier does not exist for mimetype 'image/jpeg'
This is because not all mimetypes can be minified. If e.g. your static files consist of JPG-images and CSS, you will get a warning message similar to one shown above for all JPG-images. This can be handled in two ways:
- Find the right position in your code so you only minify supported mimetyes
- Use
SuppressWarnings
to get rid of the Warn messages
app.Use(minifier.New(minifier.Config{
SuppressWarnings: true,
MinifyHTML: true,
MinifyCSS: true,
}))
Credits
This project is a thin wrapper on top of minify by Taco de Wolff. He deserves all the credit.
License
Released under the MIT license.