Minificatore JavaScript
Più piccolo — e dimostrabilmente lo stesso codice.
Gli esempi sostituiscono temporaneamente i dati e le impostazioni. Puoi ripristinare il lavoro precedente.
Incolla o scrivi qui sopra per vedere il risultato.
I tuoi file restano sul tuo dispositivo
Questo strumento viene eseguito interamente nel tuo browser. Ciò che incolli viene elaborato sul tuo dispositivo e non viene mai inviato a un server, quindi puoi usarlo in sicurezza con token, chiavi e testi non pubblicati.
Esempio
Esempio: il controllo della partita IVA di una cartoleria, da 605 a 349 caratteri
Il modulo d’ordine della Cartoleria Il Girasole controlla la partita IVA (11 cifre, l’ultima di controllo) e calcola il totale con IVA al 22% su merce più spedizione. 24 righe, 605 caratteri, tre commenti. Impostazione: Minifica.
- I numeri: prima 605, dopo 349, risparmiato 42%. Le 24 righe diventano 5 e i tre commenti spariscono.
- imponibile + +spedizione diventa imponibile+ +spedizione: lo spazio tra i due + resta, perché ++ sarebbe un altro operatore. Allo stesso modo n = +piva[i] diventa n= +piva[i].
- /\s+/g e /^\d{11}$/ passano intatte; dopo il ! resta uno spazio prima della barra: if(! /^\d{11}$/.test(piva)).
- Le due versioni danno lo stesso risultato: 0123456789 7 (con lo spazio) è valida, 01234567890 no, e 80 € di merce più 6,50 € di spedizione fanno 105,53 € IVA inclusa.
| Punto | Prima | Dopo |
|---|---|---|
| Pulizia | const piva = valore.replace(/\s+/g, ''); | const piva=valore.replace(/\s+/g,''); |
| Cifra | let n = +piva[i]; | let n= +piva[i]; |
| Totale | (imponibile + +spedizione) * 1.22 | (imponibile+ +spedizione)*1.22 |
| File | 24 righe, 605 caratteri | 5 righe, 349 caratteri (42% risparmiato) |
partitaIvaValida e totaleIvato mantengono il nome, quindi il modulo che li chiama non va toccato: basta caricare il file da 349 caratteri al posto del vecchio.
Come funziona
- Incolla il JavaScript.
- Commenti e rientri spariscono; i nomi restano esattamente com’erano.
- Controlla il risparmio nei numeri sopra l’uscita.
- Copia o scarica il risultato.
Domande frequenti
- Perché non accorcia i nomi delle mie variabili?
- Perché rinominare richiede un vero analizzatore e uno studio degli ambiti, e sbagliarlo in modo sottile pubblica un file che funziona finché non funziona più. Per qualcosa che stai per pubblicare, uno strumento che promette meno e ha sempre ragione è lo scambio migliore.
- Distingue un’espressione regolare da una divisione?
- Sì, ed è l’unica parte davvero difficile del leggere JavaScript senza analizzarlo. Una barra dopo un valore o una parentesi chiusa è una divisione; dopo un operatore, una parentesi aperta, una virgola, una parola come return o typeof, o all’inizio, apre un’espressione regolare. Così x = /ab+c/g e return /a b/.test(s) restano interi, spazi compresi, e total/count resta una divisione.
- Rompe l’inserimento automatico del punto e virgola?
- No. Un ritorno a capo può fare le veci di un punto e virgola, quindi le righe vengono unite solo quando la precedente finisce con un operatore, una virgola o una parentesi aperta, o questa comincia con una chiusa, un punto o una virgola. Una riga che finisce con ++ o -- o con un’espressione regolare tiene il suo a capo, quindi anche il codice scritto senza punti e virgola continua a funzionare.
- La mia intestazione di licenza viene rimossa?
- No. Un blocco che inizia con /*! e ogni commento che contiene @license o @preserve restano esattamente come scritti, a capo compresi, su una riga a sé. Gli altri // e /* */ spariscono, anche i blocchi JSDoc /**.
- Il risparmio è contato in byte?
- In caratteri: prima e dopo sono la lunghezza del testo come la conta JavaScript. Per codice con sole lettere senza accento coincide con i byte; una è o una à occupa due byte in UTF-8, quindi un file con commenti in italiano risparmia in byte un po’ più della percentuale mostrata.
- Viene inviato qualcosa a un server?
- No. Gira nel browser: quello che incolli resta sul tuo computer.