Home

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:

  1. Find the right position in your code so you only minify supported mimetyes
  2. 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.

Codacy Badge Go Report Card Mentioned in Awesome Fiber