Gulp копирование пустых каталогов
в своем залпом build я сделал задачу, которая работает после все компиляции, уродство и minification произошло. Эта задача просто копирует все из src на dest каталог, который не был затронут/обработан более ранними задачами. Небольшая проблема, с которой я сталкиваюсь, заключается в том, что это приводит к пустым каталогам в dest
2 ответов
исправлено путем добавления фильтра в конвейер:
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 }
после шаблона glob.
ваш общий шаблон может быть таким (используя переменные из Ник):
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-файлы и не копирует пустые папки из этих двух каталогов.