首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Gulp.js删除任何找到的文件

使用Gulp.js删除任何找到的文件
EN

Stack Overflow用户
提问于 2017-09-24 21:08:20
回答 1查看 177关注 0票数 0

我想删除任何名为.DS_Store的文件,在一个目录下,Gulp帮助构建。然而,Gulp并不是通过它自己的管道来传递所有的文件,所以我认为我不能在这里用乙烯基来做聪明的事情。相反,大多数文件是通过Gulp用child_process调用的静态站点生成器生成的。

问题是,当这个静态站点生成器在源目录中遇到这些文件时,它没有一个参数可以跳过这些文件;它只会盲目地遍历它们。我不想要这些文件,所以我想让Gulp把它们移到任何找到它们的地方。

我试过了,例如del(['output/**/.DS_Store'], cb);,但那不管用。有什么想法吗?

更新:在发现del之后,我尝试使用glob来解决这个问题,但我肯定做错了:

代码语言:javascript
复制
const glob = require('glob');
const del = require('del');

gulp.task('build', function(cb) {
    exec('pelican', function(err, stdout, stderr) {
        console.log(stdout);
        console.log(stderr);
        cb(err);
    });

    glob('output/**/.DS_Store', function(err, files) {
        files.forEach( function(file) {
            del([file]);
        });
    });
});

更新2: glob没有删除任何文件,但是,我确实注意到,如果插入console.log(file);,就会输出预期的文件。所以也许我是在正确的轨道上,但做错了什么德尔..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-25 03:11:33

结果是,我将exec块与glob语句组合在一起,从而导致了自己的问题。一旦我完成了这些单独的任务,任务build调用pelican表示exec块,rmkjunk调用glob语句之后,它就工作了。

值得注意的是,这造成了一个新的问题,即需要运行顺序任务和并行任务,即this SO answer addresses。希望这能帮助一些未来困惑的人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46394867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档