我正在尝试创建给定文件夹中所有文件(路径)的索引。到目前为止我一直在努力 gulp.src(filePath)
实现这一目标。根据这个 博客文章,它应该工作:
gulp.src(files)是包含文件/文件路径的字符串或数组。
我目前的代码:
gulp.task("createFileIndex", function(){
var index = gulp.src(['./content/**/*.*']);
console.log("INDEX:", index[0]);
});
通过输出返回的值 gulp.src()
同 index[0]
我明白了 undefined
而整个 index
只输出一个没有任何文件路径的大字典。
根据gulp文档 gulp.src (https://github.com/gulpjs/gulp/blob/master/docs/API.md#gulpsrcglobs-options)
gulp.src(globs [,options])
发出匹配提供的glob或一组globs的文件。返回一个
可以通过管道连接到插件的乙烯基文件流。
gulp.src('client/templates/*.jade')
.pipe(jade())
.pipe(minify())
.pipe(gulp.dest('build/minified_templates'));
glob指的是node-glob语法,或者它可以是直接文件路径。
水珠
类型:字符串或数组
要读的全球或一系列球。
选项
类型:对象
通过glob-stream传递给node-glob的选项。
除了支持的选项之外,gulp还添加了一些其他选项
通过node-glob和glob-stream
所以看来你需要进一步研究这个问题。否则这可能有帮助 在gulp.src()中获取当前文件名
根据gulp文档 gulp.src (https://github.com/gulpjs/gulp/blob/master/docs/API.md#gulpsrcglobs-options)
gulp.src(globs [,options])
发出匹配提供的glob或一组globs的文件。返回一个
可以通过管道连接到插件的乙烯基文件流。
gulp.src('client/templates/*.jade')
.pipe(jade())
.pipe(minify())
.pipe(gulp.dest('build/minified_templates'));
glob指的是node-glob语法,或者它可以是直接文件路径。
水珠
类型:字符串或数组
要读的全球或一系列球。
选项
类型:对象
通过glob-stream传递给node-glob的选项。
除了支持的选项之外,gulp还添加了一些其他选项
通过node-glob和glob-stream
所以看来你需要进一步研究这个问题。否则这可能有帮助 在gulp.src()中获取当前文件名
正如OP在评论中所述,这个问题的一个简单解决方案就是使用 fs.readdirSync
代替 gulp.src
:
fs = require("fs");
fs.readdirSync(directoryPath); // ["file1", "file2"]
目前的解决方案是:
var gulp = require('gulp');
var debug = require('gulp-debug');
gulp.src(sources)
.pipe(debug());
如果您想要的是来自glob(如gulp.src)的文件名数组,请使用:
const glob = require("glob");
const fileArray = glob.sync("'./content/**/*.*'");