it-roy-ru.com

некоторые особенности es6 не понятны grunt uglify js?

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

15
user6536526

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

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

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

Обновление

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

13
Carlos Delgado

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

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

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

14
Yevhenii Bahmutskyi

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

2
gillesB

Я только что обновился до [email protected] и это сработало.

1
Yoraco Gonzales