Esiste un buon minificatore JavaScript? [chiuso]


132

Quale minificatore JavaScript mi ​​consigliate?



Sebbene la domanda sia vecchia e chiusa, a partire dal 2019 - terser ( github.com/terser-js/terser ) è un minatore fatato. C'è anche un plugin per Rollup che è ottimo per minimizzare i bundle al volo.
— Levi Roberts,

Risposte:


111

UglifyJS2 , utilizzato dal progetto jQuery.


17
Puoi usare UglifyJS online senza la necessità di installarlo - jscompress.com . +1 per il prodotto utilizzato da jQuery
— TMS

1
è usato più della chiusura?
— FutuToad,

@FutuToad: la versione corrente è UglifyJS2 . Stavo cercando un confronto tra i minificatori e ho trovato le statistiche qui lisperator.net/uglifyjs - sembra che Google Closure sia più lento di UglifyJS. Tuttavia, Closure può minimizzare i progetti AngularJS. Quindi non esiste un chiaro vincitore. La mia ipotesi è (dopo un'ora di ricerche) che UglifyJS2 viene utilizzato più di GC.
— Martin Vseticka,

PS: puoi provare Minify JS basato su UglifyJS2 e i tuoi codici sorgente non verranno inviati a un server remoto. ;)
— Martin Vseticka,

UglifyJS supporta es6? tutti gli strumenti che ho riscontrato gli errori di lancio poiché utilizzo molta funzionalità es6 nei miei file.
— kinger6621,

31

Attivo

Obsoleto


Google Closure Compiler generalmente ottiene file più piccoli rispetto a YUI Compressor, in particolare se usi la modalità avanzata, che mi preoccupa in modo preoccupante ma che ha funzionato bene su un progetto su cui l'ho usato:

Diversi grandi progetti usano UglifyJS e ne sono rimasto molto colpito da quando sono passato.


2
La modalità semplice di Google CC raggiunge anche dimensioni inferiori rispetto a YUI ed è anche sicura
— gblazex

10

Se stai usando PHP potresti anche dare un'occhiata a minify che può minimizzare e combinare i file JavaScript. L'integrazione è piuttosto semplice e può essere eseguita da gruppi di file definiti o da una stringa di query semplice. I file minimizzati vengono anche memorizzati nella cache per ridurre il carico del server ed è possibile aggiungere le intestazioni di scadenza tramite minimizza.


10

JavaScript Minifier offre una buona API che puoi usare a livello di codice:

curl -X POST -s --data-urlencode 'input=$(function() { alert("Hello, World!"); });' http://javascript-minifier.com/raw

O caricando un file e reindirizzando a un nuovo file:

curl -X POST -s --data-urlencode 'input@ready.js' http://javascript-minifier.com/raw > ready.min.js

Spero che aiuti.






Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.