Я пытаюсь использовать Gulp для:
- Возьмите 3 конкретных файла javascript, объедините их, затем сохраните результат в файл (concat.js)
- Возьмите этот объединенный файл и уменьшите / уменьшите его, затем сохраните результат в другом файле (uglify.js).
Пока у меня есть следующий код
var gulp = require('gulp'),
gp_concat = require('gulp-concat'),
gp_uglify = require('gulp-uglify');
gulp.task('js-fef', function(){
return gulp.src(['file1.js', 'file2.js', 'file3.js'])
.pipe(gp_concat('concat.js'))
.pipe(gp_uglify())
.pipe(gulp.dest('js'));
});
gulp.task('default', ['js-fef'], function(){});
Однако операция uglify не работает, или файл по какой-то причине не создается.
Что мне нужно сделать, чтобы это произошло?
Ответы:
Оказывается, мне нужно было
gulp-rename
сначала использовать, а также вывести объединенный файл перед «uglification». Вот код:Исходя из
grunt
этого было немного запутанным на первый , но это имеет смысл сейчас. Надеюсь, это поможетgulp
новичкам.И, если вам нужны исходные карты, вот обновленный код:
См. Gulp-sourcemaps для получения дополнительной информации о параметрах и настройке.
источник
gulp.task
должна быть такой:.pipe(gp_concat('concat.js'))
Мой файл gulp создает окончательный compiled-bundle-min.js, надеюсь, это кому-то поможет.
источник
Решение с использованием
gulp-uglify
,gulp-concat
иgulp-sourcemaps
. Это из проекта, над которым я работаю.Это объединяет и сжимает все ваши
scripts
файлы, помещает их в файл с именемall_the_things.js
. Файл будет заканчиваться специальной строкойЭто говорит вашему браузеру искать этот файл карты, который он также записывает.
источник
Ваше решение не работает, потому что вам нужно сохранить файл после процесса concat, а затем удалить его и снова сохранить. Вам не нужно переименовывать файл между concat и uglify.
источник
10 июня 2015 г .: Примечание автора
gulp-uglifyjs
:18 февраля 2015:
gulp-uglify
иgulp-concat
оба прекрасно работают сgulp-sourcemaps
сейчас. Просто убедитесь, что правильно настроилиnewLine
параметр дляgulp-concat
; Рекомендую\n;
.Исходный ответ (декабрь 2014 г.): используйте вместо этого gulp-uglifyjs .
gulp-concat
не обязательно безопасно; ему необходимо правильно обрабатывать завершающие точки с запятой.gulp-uglify
также не поддерживает исходные карты. Вот отрывок из проекта, над которым я работаю:источник
gulp-concat
, нет (gulp-uglify
не позволит вам минимизировать несколько файлов, поэтому вам нужно сначала объединить). Кроме того ,gulp-concat
использует\r\n
по умолчанию, что может вызвать проблемы , если файлы JS не завершаются должным образом. Но да, теперь, когда есть поддержка, вероятно, лучше пойти по этому пути, поскольку он более гибкий.мы используем конфигурацию ниже, чтобы сделать что-то подобное
образец файла GulpDS ниже:
источник