【问题标题】:Gulp: How to delete a folder?Gulp:如何删除文件夹?
【发布时间】:2016-03-21 22:13:21
【问题描述】:

我使用del包删除一个文件夹:

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

...但是如果dist 文件夹包含许多子目录[递归地],有什么简单的方法可以删除它?

Ps:我不想这样:dist/**/**/**/**/**/**/...,子目录很多的时候。

【问题讨论】:

标签: gulp


【解决方案1】:

您的代码应如下所示:

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

根据npm del docs“**”删除dist的所有子目录(ps:不要删除dist文件夹):

“glob 模式 ** 匹配所有子项和父项。”

reference

【讨论】:

  • 谢谢。你觉得dist/**dist/**/*有什么区别吗?由于** 匹配'/' 及其子元素,而* 匹配除/ 之外的任何字符,我认为它们是相同的。你怎么看?
【解决方案2】:

根据文档: glob 模式 ** 匹配所有子项和父项。 您也必须明确忽略父目录

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

更多信息在这里:del documentation

【讨论】:

    【解决方案3】:

    进口:

    const { src, dest, series, parallel } = require('gulp');
    const del = require('del');
    

    一行:

    function clean(cb) {
      del(['./dist/'], cb());
    }
    

    或者,分两行:

    function clean(cb) {
      del(['./dist/']);
      cb();
    }
    

    最后:

    exports.default = series(clean, parallel(process1, process2));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-15
      • 2010-09-23
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      相关资源
      最近更新 更多