gpt4 book ai didi

javascript - 在 Gulp 插件中处理多个文件

转载 作者:行者123 更新时间:2023-12-03 09:25:52 25 4
gpt4 key购买 nike

我正在尝试编写一个 gulp 插件。你可以像这样使用它:

var gulp = require('gulp'),
codo = require('gulp-codo');

gulp.task('doc', function () {
return gulp.src('*.coffee')
.pipe(codo()) // codo(name, title, readme, dir)
});

我希望*.coffee将当前目录中的所有coffeescript文件提供给codo()。

在插件中,输入的处理方式如下:

 return through.obj(function(file, enc, cb) {

invokeCodo(file.path, name, title, readme, dir, function(err, data) {
if(err) {
cb(new gutil.PluginError('gulp-codo', err, {fileName: file.path}));
return;
}
file.contents = new Buffer(data);
cb(null, file);
});
});

我注意到 file.path 只是第一个通配符匹配,而不是所有匹配。我怎样才能为每场比赛循环这个。我尝试在这里搜索,但只找到了与在 Gulp 插件中生成多个输出相关的问题。

谢谢。

最佳答案

gulp-foreach可能对你有帮助。您的任务应该如下所示:

gulp.task('doc', function () {
return gulp.src('*.coffee')
.pipe(foreach(function(stream, file){
return stream
.pipe(codo()) // codo(name, title, readme, dir)
.pipe(concat(file.name));
});
});

另外,不要忘记在文件顶部包含 gulp-foreach ,如下所示:

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

关于javascript - 在 Gulp 插件中处理多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31675316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com