2016-01-28 16 views
6

próbuję wykonać proste zadanie, aby pokazać rozmiar pliku dla każdego pliku w tablicy tras z wykorzystaniem pakietu gulp-size, tak:Gulp: uruchom zadanie bez przeznaczenia

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

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

Gdy skończy , dostaje część drogi, ale wtedy zadanie kończy się, zanim wszystkie pliki zostaną przetworzone. Działa to dobrze, jeśli poprowadzę ich do miejsca docelowego, ale wolałbym nie kopiować plików w dowolnym miejscu. Czy istnieje sposób na potokowanie tych plików w czarną dziurę, aby zadanie zostało wykonane?

Próbowałem już .pipe(gulp.dest('/dev/null')), ale wystąpił błąd przy próbie uzyskania mkdir /dev/null, która już istnieje.

Czy istnieje dobry sposób na przepuszczenie potoku do nikąd?

Odpowiedz

8

Należy zwrócić strumieniowe:

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

przeciwnym razie łyk przejmie pracę wykonaną przez zadanie jest synchroniczna i zrobione przez czas Twoje anonimowe funkcja zwraca.

+1

doh! Właśnie, dziękuję! – jshanley