J'ai utilisé grunt-uglify dans mon projet et je travaille avec es6. Pour certaines fonctionnalités es6, telles que la fonction de la flèche en graisse, il crée une erreur. Je pense que l'uglify ne comprend pas cette syntaxe. Donc, j'ai un moyen de résoudre ce problème. Je veux dire, est-ce que je peux utiliser tout pour comprendre toutes les syntaxe es6?
Officiellement, il n'y a pas d'outil qui minifise encore ES6 (d'autres outils, comme le compilateur Google Closure, supporte ES6, mais il le transpile en «js traditionnel» et ensuite il est minifié).
Bien que toutes les fonctionnalités es6 ne soient prises en charge dans UglifyJs, la branche Harmony de UglifyJS2 semble supporter les fonctions de flèche et d'autres fonctionnalités.
Vous pouvez lire la discussion à ce sujet dans le numéro de github ici . Il semble qu'il n'y ait pas une autre option d'attente (ou créez votre propre minificateur ES6).
Mettre à jour
Maintenant, vous avez 2 options pour minify ES6:
Si le code résultant n'a pas besoin d'utiliser la syntaxe ES6, il est également possible de transporter ES6 vers ES5, avant d'épier votre code. Cela peut se faire par exemple avec Grunt task grunt-es6-transpiler .
Vous pouvez utiliser la branche d' harmony
de grunt-contrib-uglify
.
npm install git://github.com/gruntjs/grunt-contrib-uglify.git#harmony --save-dev
Fonctionne parfaitement avec es6. Aucun réglage supplémentaire pour grunt n'est nécessaire.
Je viens de mettre à jour [email protected] et cela a fonctionné.