приставка.войти в stdout на события gulp
Я хочу войти в stdout (среда конфигурации), когда a залпом задача выполняется или была запущена.
что-то вроде этого:
gulp.task('scripts', function () {
var enviroment = argv.env || 'development';
var config = gulp.src('config/' + enviroment + '.json')
.pipe(ngConstant({name: 'app.config'}));
var scripts = gulp.src('js/*');
return es.merge(config, scripts)
.pipe(concat('app.js'))
.pipe(gulp.dest('app/dist'))
.on('success', function() {
console.log('Configured environment: ' + environment);
});
});
Я не уверен, какое событие я должен отвечать или где найти список из них. Какие-нибудь указатели? Большое спасибо.
3 ответа:
(в декабре 2017 года,
gulp-util
модуль, который обеспечивал ведение журнала,рекомендуется. Команда Gulp рекомендовала разработчикам заменить эту функциональность наfancy-log
модуль. Этот ответ был обновлен, чтобы отразить это.)
fancy-log
обеспечивает ведение журнала и был первоначально построен командой Gulp.var log = require('fancy-log'); log('Hello world!');
чтобы добавить ведение журнала,документация API Gulp расскажите, что
.src
возвращает:возвращает поток виниловых файлов,которые могут быть переданы в плагины.
узел.в JS это
Stream
документация содержит список событий. Вместе взятые, вот пример:gulp.task('default', function() { return gulp.src('main.scss') .pipe(sass({ style: 'expanded' })) .on('end', function(){ log('Almost there...'); }) .pipe(minifycss()) .pipe(gulp.dest('.')) .on('end', function(){ log('Done!'); }); });
Примечание:
end
событие может быть вызвано до завершения плагина (и отправило все свои собственные выходные данные), потому что событие вызывается, когда "все данные были сброшены в базовую систему".
чтобы построить ответ на Яков Будин, Я недавно попробовал это, и нашли его полезным.
var gulp = require("gulp"); var util = require("gulp-util"); var changed = require("gulp-changed"); gulp.task("copyIfChanged", function() { var nSrc=0, nDes=0, dest="build/js"; gulp.src("app/**/*.js") .on("data", function() { nSrc+=1;}) .pipe(changed(dest)) //filter out src files not newer than dest .pipe(gulp.dest(dest)) .on("data", function() { nDes+=1;}) .on("finish", function() { util.log("Results for app/**/*.js"); util.log("# src files: ", nSrc); util.log("# dest files:", nDes); }); }
к сожалению
gulp.util
Ист обесценились. Используйтеfancy-log
вместо: https://www.npmjs.com/package/fancy-log.