некоторые функции es6 не поняты grunt uglify js?
Я использовал grunt-uglify в своем проекте, и я работаю с es6. для некоторых функций es6, таких как функция жирной стрелки, это вызывает ошибку. Я думаю, что uglify не понимают этого синтаксиса. так что у меня есть способ решить эту проблему. Я имею в виду, могу ли я использовать что-нибудь, чтобы заставить uglify понять все синтаксисы es6?
4 ответов
официально нет инструмента, который минимизирует ES6 еще (другие инструменты, такие как компилятор закрытия Google, поддерживают ES6, но он транспилирует его в "традиционный js", а затем он минимизируется).
хотя не все функции es6 поддерживаются в UglifyJs,филиал гармонии UglifyJS2 кажется, поддерживает функции стрелки и другие функции.
вы можете прочитать обсуждение об этом в выпуске github здесь. Кажется, нет еще один вариант ожидания (или создать свой собственный ES6 minifier).
обновление
теперь у вас есть 2 варианта для минимизации ES6:
можно использовать harmony
филиала grunt-contrib-uglify
.
npm install git://github.com/gruntjs/grunt-contrib-uglify.git#harmony --save-dev
отлично работает с es6. Никаких дополнительных настроек для grunt не требуется.
Если результирующему коду не нужно использовать синтаксис ES6, можно также транспилировать ES6 в ES5, прежде чем уродовать код. Это можно, например, сделать с помощью задачи Grunt grunt-es6-транспилер.