Sådan minificerer du JavaScript manuelt

JavaScript-minificering er en måde at gøre JavaScript-kode mindre på ved at fjerne tegn, som ikke er nødvendige for programmets funktion. Det kan for eksempel være mellemrum, linjeskift og kommentarer. Resultatet fylder mindre som tekst, men skal stadig udføre de samme instruktioner som den oprindelige kode.

Minificering ændrer normalt ikke programmets logik. Den ændrer derimod kodens udseende, så den bliver vanskeligere at læse for mennesker. Derfor bør den minificerede udgave betragtes som en afledt fil, mens en læsbar original bevares til vedligeholdelse og fejlsøgning.

Hvad minificering gør

JavaScript fortolkes efter sprogets regler, ikke efter hvor pænt koden er sat op. Mange mellemrum og linjeskift er derfor overflødige, når de ikke adskiller ord eller værdier, som ellers ville blive læst forkert. Kommentarer bliver også ofte fjernet, fordi de forklarer koden til mennesker, men ikke ændrer dens virkning.

En mere avanceret minificering kan forkorte lokale variabelnavne eller forenkle udtryk. Sådanne ændringer kræver større forsigtighed end at fjerne formatering. Et navn kan for eksempel være synligt uden for det sted, hvor det blev defineret, eller indgå i kode, der afhænger af dets præcise stavemåde. En manuel proces bør derfor begynde med de sikre, rent formateringsmæssige ændringer.

Sådan minificerer du kode trin for trin

  1. Bevar originalen. Gem en læsbar kopi, før der ændres noget. Den gør det muligt at sammenligne resultatet og rette fejl uden at skulle genskabe den oprindelige struktur.
  2. Kontrollér syntaksen. Se efter ubalancerede parenteser, klammer og anførselstegn. Minificering reparerer ikke fejl i koden; den kan blot gøre dem sværere at finde.
  3. Fjern kommentarer med omtanke. Slet almindelige kommentarer, men kontrollér først, at de ikke indeholder særlige direktiver eller oplysninger, som andre dele af arbejdsprocessen forventer. Tegn, der ligner kommentarer, kan desuden stå inde i tekststrenge og skal dér bevares.
  4. Reducer overflødig formatering. Fjern unødvendige linjeskift og mellemrum. Bevar mellemrum, når de adskiller nøgleord, navne eller værdier. Fjernes et nødvendigt mellemrum, kan to dele af koden blive læst som ét andet udtryk.
  5. Gennemgå tegnsætningen. Semikolon, kommaer og parenteser må kun fjernes, hvis sprogets regler gør dem overflødige netop dér. Antag ikke, at et tegn er valgfrit, blot fordi en kort kodeprøve ser ud til at virke uden det.
  6. Test resultatet. Sammenlign den minificerede kode med originalen i den sammenhæng, hvor den skal bruges. Kontrollér både indlæsning og de funktioner, som koden skal udføre.

Hvor minificering bruges

Minificerede JavaScript-filer bruges ofte som en del af publicering af webindhold. Mindre tekstfiler kan være hurtigere at overføre, især når mange filer eller store scripts indgår. Det er dog ikke en garanti for mærkbart hurtigere indlæsning; resultatet afhænger også af blandt andet netværk, caching og sidens øvrige indhold.

I praksis opbevares den læsbare kildekode typisk adskilt fra den minificerede udgave. Det gør det lettere at finde fejl, ændre funktioner og forstå, hvad programmet gør. Minificering er heller ikke kryptering eller en sikkerhedsforanstaltning: koden kan stadig undersøges, selv om den er tæt pakket og mindre overskuelig.

Efter ændringer bør den minificerede fil kontrolleres igen, fordi selv en lille tastefejl kan ændre programmets adfærd. Hvis koden indeholder særlige kommentarer, dynamisk navneopslag eller afhængigheder af bestemte variabelnavne, er manuel minificering særlig risikabel. I de tilfælde er det vigtigt at bevare originalen og teste den færdige fil grundigt.