Можно ли получить список файлов, идущий от gulp.src
потока в виде массива, например:конвертировать поток gulp.src в массив?
var files = convertToArray(gulp.src('**/*.js'));
Update:
Я пытался отойти от gulp-karma плагина:
gulp.task('test', function() {
return gulp.src(files)
.pipe($.order(ordering))
.pipe($.karma({
karma.conf.js'
});
});
Так что моя идея была:
gulp.task('test', function (done) {
var karmaFiles = convertToArray(gulp.src(files)
.pipe($.order(ordering)));
new Server({
configFile: karma.conf.js',
files: karmaFiles
}, done).start();
});
Но, как указано, это не сработает из-за его асинхронности. Вот мое решение:
gulp.task('test', function (done) {
gulp.src(files)
.pipe($.order(ordering)))
.pipe(gutil.buffer())
.on('data', function(data) {
var karmaFiles = data.map(function(f) { return f.path; });
new Server({
configFile: __dirname + '/karma.conf.js',
files: karmaFiles
}, done).start();
});
});
Спасибо за давая мне знать о 'залп-util', кажется, что будет соответствовать моим потребностям. Мой случай был немного сложнее, он также использовал плагин 'gulp-order', поэтому, получив список файлов из потока в' gulp.src (files) .pipe ($. Order (ordering)) ' – jamiebarrow
I обновил мой вопрос, чтобы проиллюстрировать мою проблему, и включил мое решение. Дайте мне знать, если вы думаете, что есть лучший способ :) – jamiebarrow
Поскольку вам действительно не нужно содержимое файла, вы можете использовать ['read: false'] (https://github.com/gulpjs/gulp/blob /master/docs/API.md#optionsread) с помощью 'gulp.src()'. Сохраняет время, чтобы прочитать содержимое файла без необходимости. В противном случае это выглядит хорошо. –