Некоторые функции es6 не поняты grunt uglify js?

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

Ответ 1

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

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

Вы можете прочитать обсуждение об этом в проблеме github здесь. Кажется, нет другого способа подождать (или создать собственный ES6 minifier).

Обновление

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

Ответ 2

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

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

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

Ответ 3

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

Ответ 4

Я просто обновился до [email protected], и он сработал.