приставка.войти в 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 71

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.