通过向管道添加过滤器来修复它:
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));
// ...
Run Code Online (Sandbox Code Playgroud)
小智 6
我知道我在这个问题上已经迟到了,但对于其他任何绊倒这个问题的人来说,还有另外一种方法可以做到这一点,在我看来这看起来非常优雅.我在这个问题中找到了它
要排除我{ nodir: true }在glob模式后添加的空文件夹 .
您的一般模式可能是这样(使用Nick的回答中的变量):
gulp.src(globs, { nodir: true })
.pipe(gulp.dest(folders.dest + '/' + module.folder));
Run Code Online (Sandbox Code Playgroud)
我的如下:
gulp.src(['src/**/*', '!src/scss/**/*.scss', '!src/js/**/*.js'], { nodir: true })
.pipe(gulp.dest('dev/'));
Run Code Online (Sandbox Code Playgroud)
这将选择src目录中不是 scss或js文件的所有文件,也不会从这两个目录中复制任何空文件夹.
| 归档时间: |
|
| 查看次数: |
2901 次 |
| 最近记录: |