Bezmaksas pārveidotājs

JavaScript Minifikators

Samaziniet un saspiediet JavaScript kodu uzreiz savā pārlūkprogrammā. Noņemiet komentārus, sakļaujiet atstarpes un samaziniet faila lielumu. Bezmaksas un privāts.

Velciet un nometiet JS failu šeit

Atbalsta .js failus. Vai arī iepriekš ielīmējiet savu JavaScript.

Or

Par šo rīku

JavaScript samazināšana samazina avota koda lielumu, noņemot nevajadzīgās rakstzīmes un (ar atbilstošiem minifikatoriem) pārdēvējot vietējos mainīgos uz īsākiem nosaukumiem. Pirmā kategorija — atstarpes un komentāru noņemšana — ir vienkārša un bez riska. Otrajā gadījumā — mainīgo pārdēvēšanai — ir jāsaprot tvēruma noteikumi, un tas ir tas, ko vislabāk dara tādi ražošanas miniaparāti kā Terser un esbuild.

Šis rīks koncentrējas uz drošu samazināšanu: komentāru noņemšanu, atstarpju sakļaušanu, lieko semikolu noņemšanu un acīmredzamo rakstu saīsināšanu. Mainīgo pārdēvēšana ir konservatīva — tiek skarti tikai lokālie mainīgie skaidrā tvērumā, un ārējie nosaukumi tiek atstāti atsevišķi. Rezultāts ir funkcionāli identisks avotam.

Ražošanas līmeņa samazināšanai īpašie rīki (Terser, esbuild, swc) saprot visu ECMAScript tvēruma modeli un rada ievērojami mazāku izvadi. Šis rīks ir paredzēts ātrai pārlūkprogrammas samazināšanai, ja nav pieejama pilna versijas iestatīšana.

Kāpēc samazināt JavaScript

JavaScript komplekti parasti ir lielākais resurss mūsdienu tīmekļa lapā. Samazināšanās parasti samazina izmēru par 30–60%, salīdzinot ar nesamazināto avotu. Apvienojumā ar gzip vai Brotli samazinājums nedaudz samazinās, taču kombinācija joprojām ietaupa izmērāmus baitus — īpaši lietotājiem, kuri izmanto lēnus savienojumus.

Ātrāks JavaScript nozīmē arī ātrāku laiku līdz interaktīvam. Mazāki skripti tiek lejupielādēti ātrāk, ātrāk parsēti un ātrāk izpildīti. Vietnēs, kurās TTI ietekmē atlēcienu līmeni un SEO rangu, samazināšana ir viens no lētākajiem pieejamajiem laimestiem.

Kā lietot

Ielīmējiet JavaScript, iegūstiet mazāku versiju.

  1. Pievienojiet JavaScript ievadi: Ielīmējiet avotu ievades apgabalā vai nometiet .js failu. Minifikators pieņem mūsdienu JavaScript (ES2015+), tostarp bultiņu funkcijas, veidņu literāļus, klases un moduļus.
  2. Izvēlieties opcijas: Pēc noklusējuma tiek noņemti komentāri un sakļauts atstarpes. Vietējā mainīgā pārdēvēšana ir konservatīva; iespējot agresīvāku pārdēvēšanu, ja nepieciešama maksimāla saspiešana.
  3. Samazināt: Minifikators parsē avotu, noņem atstarpes un komentārus un izstaro kompaktu izvadi. Sintakses kļūdas avotā rada skaidrus kļūdu ziņojumus.
  4. Izmantojiet izvadi: Nomainiet skripta avotu ražošanā. Pilnīgai optimizācijai savienojiet pārī ar komplektētāju, kas apstrādā koku satricināšanu un mirušā koda likvidēšanu.

Bieži lietojami gadījumi

Tehniskās detaļas

Minifikators tokenizē JavaScript, izmantojot parsētāju, kas ievēro ECMAScript sintaksi. Komentāri (vienrindas un vairāku rindiņu) tiek noņemti, izņemot licences komentārus, kas atzīmēti ar /*! priedēklis. Atstarpes ir sakļautas, izņemot gadījumus, kad tas ir nepieciešams sintaktiski (starp identifikatoriem, pēc atslēgvārdiem).

Konservatīvā mainīgo pārdēvēšana saīsina vietējos mainīgos vienkāršā tvērumā. Globālie, eksportētie un importētie nosaukumi netiek pārdēvēti — tas izjauktu ārējās atsauces. Padziļinātai pārdēvēšanai izmantojiet Terser vai esbuild ar atbilstošu moduļu analīzi.

Malu gadījumi: automātiska semikola ievietošana (ASI) nozīmē, ka minifikatoram dažos kontekstos ir jāsaglabā jaunās rindiņas, lai izvairītos no programmas darbības maiņas. Veidņu literāļi, regex literāļi un JSX (ja ievade to ietver) tiek saglabāti tieši tāpēc, ka to saturu var nebūt droši saspiest.

Labākā prakse

Bieži uzdotie jautājumi

Vai samazināšana maina mana koda darbību?
Nē. Samazināšanās noņem atstarpes un komentārus, kas neietekmē izpildi. Mainīgo saīsināšana (jaukšana) pārdēvē lokālos mainīgos, bet saglabā uzvedību. Globālie mainīgie un eksportētie nosaukumi tiek saglabāti neskarti.
Vai man ir jāsamazina izstrāde vai ražošana?
Ražošanā izmantojiet tikai samazinātu kodu. Izstrādes laikā saglabājiet oriģinālo lasāmo kodu. Lielākā daļa veidošanas rīku (Webpack, Vite, esbuild) automātiski apstrādā samazināšanu kā daļu no ražošanas veidošanas procesa.
Kāda ir atšķirība starp samazināšanu un apmulsināšanu?
Samazināšana samazina izmēru, vienlaikus saglabājot kodu funkcionāli lasāmu, ja tas ir formatēts. Aptumšošanās apzināti padara kodu grūti saprotamu (virknes kodēšana, vadības plūsmas saplacināšana). Šis rīks koncentrējas uz izmēra samazināšanu, nevis apmulsināšanu.
Cik lielu izmēra samazinājumu man vajadzētu sagaidīt?
Parasti 30–60% pirms gzip. Labi komentēts kods ar gariem mainīgo nosaukumiem redz lielāko samazinājumu. Apvienojumā ar gzip saspiešanu JavaScript faili bieži ir par 80–90% mazāki nekā sākotnējais avots.
Vai mans kods ir augšupielādēts serverī?
Nē. Minētais darbojas jūsu pārlūkprogrammā.
Cik mazāks būs mans JavaScript?
Parasti samazinājums par 30–60%. Mainīgs kods ar gariem identifikatoriem vairāk saspiež; Izteiksmīgi kods saspiež mazāk.
Vai man vajadzētu samazināt ar roku?
Nekad. Saglabājiet lasāmu JavaScript avotā. Palaidiet samazināšanu kā izveides posmu vai kā izvietošanas daļu.
Vai tas darbojas uz TypeScript?
TypeScript vispirms ir jākompilē JavaScript, izmantojot tsc vai esbuild. Pēc apkopošanas iegūto JavaScript var samazināt.