Я пытаюсь создать индекс всех файлов (путей) в пределах определенной папки. До сих пор я работал с gulp.src(filePath)
для достижения этого. В соответствии с этим сообщением gulp.task("createFileIndex", function(){
var index = gulp.src(['./content/**/*.*']);
console.log("INDEX:", index[0]);
});
Список всех файлов в массиве с gulp.src()
Ответ 1
В соответствии с документацией gulp на gulp.src (https://github.com/gulpjs/gulp/blob/master/docs/API.md#gulpsrcglobs-options)
gulp.src(globs [, options])
Испускает файлы, соответствующие предоставленному glob или массив глобусов. Возвращает поток виниловых файлов, которые могут быть подключены к плагинам.
gulp.src('client/templates/*.jade') .pipe(jade()) .pipe(minify()) .pipe(gulp.dest('build/minified_templates'));
glob ссылается на синтаксис node -glob, или это может быть прямой путь к файлу.
шарики
Тип: String или Array
Glob или массив глобусов для чтения.
опции
Тип: Объект
Параметры для перехода к node -glob через glob-поток.
gulp добавляет дополнительные опции в дополнение к поддерживаемым параметрам node -glob и glob-stream
Итак, вам нужно посмотреть дальше. В противном случае это может быть полезно Получить текущее имя файла в gulp.src()
Ответ 2
Как указано в комментарии OP, простым решением этой проблемы было бы использовать fs.readdirSync
вместо gulp.src
:
fs = require("fs");
fs.readdirSync(directoryPath); // ["file1", "file2"]
Ответ 3
Текущее решение:
var gulp = require('gulp');
var debug = require('gulp-debug');
gulp.src(sources)
.pipe(debug());
Ответ 4
var through = require('through2');
gulp.task('getFileList', function () {
var fileList = [];
gulp.src(['./someFolder/**/*.ext', '!./someFolder/unwantedFolder/**/*'])
.pipe(through.obj(function (file, enc, cb) {
fileList.push(file.path);
cb(null);
}))
.pipe(gulp.dest('./temp/'))
.on ('end', function () {
console.log(fileList);
});
});
Ответ 5
Если вам нужен только массив имен файлов из глобуса (например, gulp.src), используйте:
const glob = require('glob');
const fileArray = glob.sync('./content/**/*.*');
Ответ 6
В gulp 4 вы можете сделать следующее:
gulp.src(['./lib/file3.js', './lib/file1.js', './lib/file2.js'])