2015-08-02 11 views
9

Sto provando a creare un indice di tutti i file (percorso) all'interno di una determinata cartella. Finora ho lavorato con gulp.src(filePath) per raggiungere questo obiettivo. Secondo questa blog post, dovrebbe funzionare:Elenca tutti i file nell'array con gulp.src()

gulp.src (file) è una stringa o un array contenente il file (s)/percorsi di file.

mio codice corrente:

gulp.task("createFileIndex", function(){ 
    var index = gulp.src(['./content/**/*.*']); 
    console.log("INDEX:", index[0]); 
}); 

Con outputing i valori restituiti di gulp.src() con index[0] ottengo undefined e l'intero index uscite solo un dizionario di grandi dimensioni senza filepaths.

risposta

2

Secondo la documentazione sorso su gulp.src (https://github.com/gulpjs/gulp/blob/master/docs/API.md#gulpsrcglobs-options)

gulp.src (gocce [opzioni])

Emette i file che corrispondono a condizione glob o un array di gocce . Restituisce un flusso di file Vinyl che possono essere reindirizzati ai plug-in.

gulp.src('client/templates/*.jade') 
    .pipe(jade()) 
    .pipe(minify()) 
    .pipe(gulp.dest('build/minified_templates')); 

glob si riferisce alla sintassi del nodo-glob o può essere un percorso file diretto.

gocce

Tipo: stringa o matrice

Glob o matrice di gocce da leggere.

opzioni

Tipo: oggetto

opzioni da passare al nodo-glob attraverso glob-stream.

sorso aggiunge alcune opzioni aggiuntive oltre alle opzioni supportate di nodo-glob e glob-stream

Così sembra è necessario guardare in avanti questo. In caso contrario, questo forse utile Get the current file name in gulp.src()

+3

Ho creato una soluzione alternativa con la libreria interna 'js' di nodejs. 'fs.readdirSync()' elenca tutti i file di una cartella definita. – user3147268

5

Come il PO ha dichiarato in un commento, una semplice soluzione a questo problema sarebbe quella di utilizzare fs.readdirSync invece di gulp.src:

fs = require("fs"); 
fs.readdirSync(directoryPath); // ["file1", "file2"] 
2

La soluzione attuale è:

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

gulp.src(sources) 
    .pipe(debug()); 
Problemi correlati