Gulp - uglify() с подстановочным знаком в исходном коде выдает ошибку

При выполнении последнего шага сборки в GULP я пытаюсь использовать uglify с подстановочным знаком в gulp.src, но вижу ошибку.

Это работает:

gulp.task('build', ['lint','karma','clean'], function () {
return gulp.src('./src/js/file.js')
    .pipe(gulp.dest('./dist'))
    .pipe(uglify())
    .pipe(size())
    .pipe(gulp.dest('./dist'));
});

Но это не так:

gulp.task('build', ['lint','karma','clean'], function () {
return gulp.src('./src/js/*.js')
    .pipe(gulp.dest('./dist'))
    .pipe(uglify())
    .pipe(size())
    .pipe(gulp.dest('./dist'));
});

Единственная разница в том, что я выбираю конкретный файл в рабочем gulp.src, но использую подстановочный знак в нерабочей версии. Я сузил это до uglify(), потому что, если я закомментирую его, я не получу ошибку, и все завершится без проблем.

Любая помощь будет принята с благодарностью


person Andrew R.    schedule 28.09.2015    source источник
comment
Почему вы вызываете gulp.dest дважды в одном конвейере? Удаление первого решит проблему?   -  person Jamie Dixon    schedule 29.09.2015
comment
Нет никаких изменений. Насколько я понял (все еще новичок в GULP), это должно было указать, где должны быть размещены данные, в то время как остальные операции выполнялись, а второе - где находился окончательный вывод. Возможно, в этом нет необходимости, но я видел пример в нескольких файлах gulp.   -  person Andrew R.    schedule 29.09.2015
comment
Иногда требуется поместить файлы в одно место, преобразовать их, а затем сохранить в другом месте. Однако здесь вы просто сохраняете их в одном месте, поэтому нет необходимости в первом вызове gulp.dest. Какую ошибку вы получаете?   -  person Jamie Dixon    schedule 29.09.2015
comment
И это имеет смысл. Ошибка: events.js:85 throw er; // Unhandled 'error' event со всеми соответствующими ссылками на разные строки в: events.js:85 throw er; // Unhandled 'error' event ^ /Users/andrewr/Development/viper-probe-droid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js   -  person Andrew R.    schedule 29.09.2015
comment
Похоже, в одном из ваших JS-файлов есть неожиданный символ. У вас также есть мини-файлы или исходные карты в папке src/js?   -  person Jamie Dixon    schedule 29.09.2015
comment
Последний комментарий здесь: github.com/terinjokes/gulp-uglify/issues/76 предлагает использовать gulp-util для регистрации ошибки. У этого человека, похоже, тоже была похожая проблема: /28003104/uglify-throws-parse-error   -  person Jamie Dixon    schedule 29.09.2015
comment
Сейчас час ночи, так что я ухожу на ночь. Я надеюсь, что эти ссылки помогут.   -  person Jamie Dixon    schedule 29.09.2015
comment
Спасибо! Оказалось, что это был комментарий закрывающего блока (*/), который вызывал проблему. Я верну gulp-util обратно, но не собирался этого делать, пока все остальное не заработает. Теперь работает.   -  person Andrew R.    schedule 29.09.2015