Глоток: как я вижу имена моего шара?

В Gulp у меня есть шаблон глобуса, который я хочу проверить. Например:

gulp.task('clean-requirejs', function() {
    return gulp.src([
        './public/res-min/**/*.js'
    ])
        .pipe(clean());
});

Я хочу увидеть, как шар ['./public/res-min/**/*.js'] расширен. Как распечатать аргументы / список файлов, который генерируется gulp.src в этом примере?

ОБНОВЛЕНИЕ: Оказывается, это действительно просто gulp-print который может решить эту задачу так:

var print = require('gulp-print').default;


[....]

.pipe(print());

2 ответа

Решение

Оказывается, Gulp-Debug как раз подходит для подобных ситуаций.

Пример:

$ npm install --save-dev gulp-debug

var debug = require('gulp-debug');


gulp.task('clean-requirejs', function() {
    return gulp.src([
        './public/res-min/**/*.js'
    ])
    .pipe(debug())
    .pipe(clean());
});

Хотя, безусловно, есть более чистые решения, когда я не хочу беспокоиться о том, чтобы npm устанавливал новые пакеты, я использую следующую функцию:

var through2 = require('through2');

function logFile(msg, lines) {
  lines = lines || 5;

  return through2.obj(function(file, enc, done) {
    console.log('logFile ' + msg);
    console.log(file.path);
    console.log(file.contents.toString().split('\n').splice(0,lines).join('\n'))
    this.push(file);
    done();
  });
}

И тогда, в вашей задаче

return gulp.src('...').pipe(logFile('name-of-task',5)).pipe(...)

Важными частями являются то, что вы вызываете this.push(file) и done().

Вероятно, есть библиотеки, которые делают то же самое.

Другие вопросы по тегам