2016-07-18 1 views
12

Я использовал grunt-uuglify в своем проекте, и я работаю с es6. для некоторых функций es6, таких как функция стрелки жира, это вызывает ошибку. Я думаю, что uglify не понимает этот синтаксис. так что у меня есть способ исправить эту проблему. Я имею в виду, могу ли я использовать что-либо, чтобы заставить uglify понимать все синтаксисы es6?Некоторые функции es6 не поняты grunt uglify js?

ответ

9

Официально нет инструмента, который бы минимизировал ES6 (Другие инструменты, такие как компилятор Google Closure, поддерживают ES6, но пересылают его в «традиционные js», а затем его минитируют).

Хотя не все функции es6 поддерживаются в UglifyJs, the Harmony branch of UglifyJS2, похоже, поддерживает функции стрелок и другие функции.

You can read the discussion about it in the issue of github here. Кажется, нет другого варианта ждать (или создать свой собственный ES6-мини-фильтр).

Update

Теперь у вас есть 2 варианта Минимизировать ES6:

+1

Любые новости об этом? – NeoPix

2

Если полученный код не нужно использовать синтаксис ES6, его также можно перенаправить ES6 на ES5, прежде чем убрать код. Это можно сделать, например, с помощью задачи Grunt grunt-es6-transpiler.

7

Вы можете использовать ветку harmony по номеру grunt-contrib-uglify.

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

отлично работает с es6. Никаких дополнительных настроек для ворчания не требуется.

+2

отличное решение! работал на меня. – FedericoCapaldo

Смежные вопросы