Я использую Grunt 1.0.1 с grunt-contrib-uglify 2.0.0 для uglicate объединенных файлов .js моего проекта. Это отлично работает до сегодняшнего дня, где я представил функцию JavaScript с функцией paramater, которая имеет значение по умолчанию.grunt-contrib-uglify выдает ошибку при использовании параметра функции со значением по умолчанию
Теперь результаты задачи в этом Грунт сообщение об ошибке:
Running "uglify:app" (uglify) task
JS_Parse_Error {
message: 'SyntaxError: Unexpected token operator «=», expected punc «,»',
filename: 'app.js',
app.js линия в беспокойстве, как вторит эта задача:
function addNumbers(a, b=1){
console.log(a + b);
}
где точная колонка в линии где находится b=1
.
Если я удаляю значение по умолчанию, все снова работает отлично.
Почему жалоба на grunt-contrib-ouglify здесь? Как я могу решить эту проблему?
Итак, как я могу заставить grunt-contrib-uuglify использовать ES6, а не устаревшую спецификацию? Является ли это вопросом версии node.js, которую я запускаю в своей среде разработки? Если это так, я запускаю v.4.5.0. – Bunjip
Я бы не счел это устаревшей спецификацией, но версия node.js имеет значение, когда дело доходит до поддержки функций ES6, вы можете взглянуть на следующую таблицу [Node.js ES2015 Support] (http: // node .green /), особенно * параметры функции по умолчанию *, которые вы хотите использовать. Однако вы можете добавить задачу в свой файл grunt, который переведет ваш ES6 на ES5. Вот плагин grunt, который может сделать это для вас [grunt-babel] (https://github.com/babel/grunt-babel). – DavidDomain