2016-03-21 4 views
4

Я использую дель пакет для удаления папки:Gulp: как удалить папку?

gulp.task('clean', function(){ 
    return del('dist/**/*', {force:true}); 
}); 

Но если есть много подкаталога в DIST папки, и я хочу, чтобы удалить DIST папки и все файлы, есть ли простой способ сделать это?

Пс: Я не хочу делать так: dist/**/**/**/**/**/**/..., когда таких поддиректорий очень много.

+0

Пытались ли вы https://github.com/robrich/gulp-rimraf? – twsaef

ответ

6

ваш код должен выглядеть следующим образом:

gulp.task('clean', function(){ 
    return del('dist/**', {force:true}); 
}); 

в соответствии с НПМ-дель-DOCS "**" удаляет все подкаталоги дист (пс: не удалять DIST папки):

" Шаблон glob ** соответствует всем детям и родителям. "

reference

+0

Спасибо. Как вы думаете, есть ли разница между 'dist/**' и 'dist/**/*'? Поскольку '**' соответствует '/', а его дочерние элементы и '*' соответствуют любым символам, кроме '/', я думаю, что они одинаковы. Как вы думаете? –

1

Согласно документации: Узор Глоб ** соответствует всем детям и родителям. Вы должны явно игнорировать родительские каталоги слишком

gulp.task('clean', function(){ 
    return del(['dist/**', '!dist'], {force:true}); 
}); 

Более подробную информацию можно посмотреть здесь: del documentation

Смежные вопросы