【发布时间】:2018-03-05 19:30:30
【问题描述】:
我想删除 Gulp 帮助构建的目录中任何名为 .DS_Store 的文件。但是,Gulp 不会通过它自己的管道传递所有文件,所以我认为我不能在这里用乙烯基做聪明的事情。相反,大多数文件是通过 Gulp 使用 child_process 调用的静态站点生成器生成的。
问题是,这个静态站点生成器没有参数来在源目录中遇到这些文件时跳过它们;它只会盲目地将它们带过来。我不想要这些文件,所以我想让 Gulp 在找到它们的任何地方删除它们。
我试过了,例如del(['output/**/.DS_Store'], cb);,但这不起作用。有什么想法吗?
更新:发现I need something fancier than del后,我尝试用glob解决这个问题,但一定是我做错了:
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);,则会输出预期的文件。所以也许我在正确的轨道上,但是在 del 上做错了...
【问题讨论】:
标签: gulp