在我的gulp构建中,我创建了一个任务,它会在所有的编译、混淆和压缩完成后运行。这个任务只是将src目录中未被之前任务处理/触及的所有内容复制到dest目录中。问题在于,这导致dest目录中出现空目录。
有没有一种方法可以告诉
谢谢。
有没有一种方法可以告诉
gulp.src
仅包括模式匹配的文件(例如提供 'is_file'
标志)?谢谢。
通过向管道添加过滤器进行修复:
var es = require('event-stream');
var onlyDirs = function(es) {
return es.map(function(file, cb) {
if (file.stat.isFile()) {
return cb(null, file);
} else {
return cb();
}
});
};
// ...
var s = gulp.src(globs)
.pipe(onlyDirs(es))
.pipe(gulp.dest(folders.dest + '/' + module.folder));
// ...
{ nodir: true }
。gulp.src(globs, { nodir: true })
.pipe(gulp.dest(folders.dest + '/' + module.folder));
我的情况如下:
gulp.src(['src/**/*', '!src/scss/**/*.scss', '!src/js/**/*.js'], { nodir: true })
.pipe(gulp.dest('dev/'));
这个命令从src目录中选择所有不是scss或js文件的文件,并且也不会复制这两个目录中的任何空文件夹。