【发布时间】:2018-09-08 15:43:38
【问题描述】:
我想通过以下方式过滤 gulp.pipe() 中的 .pug 文件:
如果文件名包含特定文本,例如“section”,则忽略它,否则它会被进一步传输并保存。我正在使用 gulp-ignore 插件。 忽略关键字存储在数组中:
var ignoreArr = [
"index",
"base",
"elem",
"temp",
"footer",
"header",
"layout",
"section"
];
我使用从其他地方找到的解决方案来获取管道中的文件名
var es, log, logFile;
es = require('event-stream');
log = require('gulp-util').log;
logFile = function(es) {
return es.map(function(file, cb) {
log(file.path);
return cb();
});
};
我在将它与 gulp 任务集成时遇到问题
gulp.task("gen", function() {
return gulp.src('./src/*.pug')
.pipe(gulpIgnore.exclude(new RegExp(ignoreArr.join("|")).test(logFile(es)) == false))
.pipe(
pug({
locals: {
message: 'test',
}
})
)
.pipe(gulp.dest('./dist/'));
});
【问题讨论】:
标签: javascript filter gulp pipe