Minificatie is het proces van het minimaliseren van code en opmaak in webpagina’s en scriptbestanden zonder de functionaliteit ervan te wijzigen. Het verwijdert een codebestand van alle gegevens die niet nodig zijn om het bestand uit te voeren. In tegenstelling tot andere compressietechnieken, hoeven verkleinde bestanden niet te worden gedecomprimeerd voordat ze worden gelezen, gewijzigd of uitgevoerd. Minificatie wordt gebruikt om laadtijden en bandbreedtegebruik op websites te verminderen. Het verbetert de sitesnelheid en toegankelijkheid aanzienlijk, wat betekent dat de gebruikerservaring ook wordt verbeterd.
Een JavaScript-code zonder verkleining ziet er bijvoorbeeld als volgt uit:
var array = [];
op een (var i = 0; ik
De verkleinde versie is gelijk aan de originele code, maar is veel korter:
op een(var a = [i = 0]; ik
Hoe minificatie werkt
Minificatie vindt plaats nadat de code voor een webtoepassing is geschreven, maar voordat de toepassing wordt geïmplementeerd. Het werkt door de op tekst gebaseerde delen van een website te analyseren en te herschrijven om de totale bestandsgrootte te verkleinen. Na verkleining vervangt de webserver de oorspronkelijke activa door verkleinde activa voor snellere distributie naar gebruikers.
Een webontwikkelaar maakt een JavaScript- of CSS-bestand om in een webtoepassing te gebruiken. Deze bestanden zijn geformatteerd voor het gemak van de ontwikkelaar. De ontwikkelaar past vervolgens een minificatietechniek toe om het bestand te converteren naar een bestand dat beter is geoptimaliseerd maar moeilijker te lezen. Veel voorkomende minificatietechnieken zijn:
- Witruimte verwijderen
- Variabelenamen inkorten
- Vervanging van uitgebreide functies door meer beknopte functies
Eenmaal verkleind, gebruikt de webserver het bestand bij het reageren op webverzoeken.
Minification nadelen
In sommige gevallen kan minificatie gecompliceerde scripts kapot maken vanwege siteafhankelijke variabelen zoals thema’s, plug-ins en serveromgevingen. Dit kan resulteren in onjuiste lay-outs of bepaalde functies die niet correct werken op een website. Minificatie kan ook fouten introduceren die moeilijk te debuggen zijn. Hoewel het het bandbreedtegebruik aanzienlijk kan verminderen en de sitesnelheid kan verhogen, moet het worden gebruikt als een afstemmingsstap, niet als de eerste stap bij het verbeteren van een website.