2016-07-18 60 views
12

Ho usato grunt-uglify nel mio progetto e sto lavorando con es6. per alcune funzioni di es6, come la funzione freccia grossa, genera un errore. Penso che l'ugolante non sottolinei questa sintassi. così ho un modo per risolvere questo problema. Voglio dire posso usare qualsiasi cosa per far capire a uglify tutte le sintassi di es6?alcune funzioni di es6 non sono comprese da grunt uglify js?

risposta

9

Ufficialmente non esiste uno strumento che minimizzi ES6 ancora (Altri strumenti come il compilatore Google Closure supporta ES6 ma lo traspone in "js tradizionale" e quindi viene ridotto a icona).

Sebbene non tutte le funzionalità di es6 siano supportate in UglifyJs, the Harmony branch of UglifyJS2 sembra supportare le funzioni di freccia e altre funzionalità.

You can read the discussion about it in the issue of github here. Sembra che non ci sia un'altra opzione per aspettare (o creare il proprio minificatore ES6).

Aggiornamento

Ora avete 2 opzioni per Minify ES6:

+1

Qualche notizia a riguardo? – NeoPix

2

Se il codice risultante non ha bisogno di utilizzare la sintassi ES6, è è anche possibile traspolare ES6 in ES5, prima di elidere il codice. Questo può essere fatto ad esempio con l'attività Grunt grunt-es6-transpiler.

7

È possibile utilizzare la diramazione harmony di grunt-contrib-uglify.

npm install git://github.com/gruntjs/grunt-contrib-uglify.git#harmony --save-dev 

funziona perfettamente con es6. Non sono necessarie impostazioni aggiuntive per grunt.

+2

ottima soluzione! ha funzionato per me – FedericoCapaldo

Problemi correlati