2016-01-28 4 views
6

Я пытаюсь сделать простую задачу, чтобы показать размер файла для каждого файла в массив путей с использованием gulp-size пакета, например, так:Глоток: запустить задачу без назначения

var gulp = require('gulp') 
var size = require('gulp-size') 

gulp.task('size', function() { 
    gulp.src(bigArrayOfFilePathsFromAnotherModule) 
    .pipe(size({ showFiles: true })) 
}) 

Когда это работает , он получает часть пути, но тогда задача заканчивается до того, как все файлы будут обработаны. Он отлично работает, если я подключаю их к месту назначения, но я бы предпочел не копировать файлы нигде. Есть ли способ передать эти файлы в черную дыру, чтобы задача завершилась?

Я пробовал .pipe(gulp.dest('/dev/null')), но он ошибается, пытаясь mkdir /dev/null, который уже существует.

Есть ли хороший способ трубить поток в никуда?

ответ

8

Вы должны вернуть поток:

gulp.task('size', function() { 
    return gulp.src(bigArrayOfFilePathsFromAnotherModule) 
    .pipe(size({ showFiles: true })); 
}) 

В противном случае глоток возьмет на себя работу задачи является синхронным и сделано к тому времени вашего анонимных функций возврата.

+1

doh! Правильно, спасибо! – jshanley

Смежные вопросы