gulp-clean 和 del 无法清理我想要的文件夹

gulp-clean and del does not work to clean the folder i want

我不明白我做错了什么。我想清理我的 dist/browser 文件夹,但绝对没有任何反应,甚至没有错误。

const gulp = require("gulp");
const gulpElm  = require('gulp-elm');
const clean = require('gulp-clean');
const del = require('del');

gulp.task("clean-dist/browser-folder", () => {

  console.log("this gets logged - and nothing happens.");

  return gulp.src('dist/**', {read: false})
    .pipe(clean({force: true}));
});

// i commented this out but this 2 aproaches below using del module also don't work

// gulp.task("clean-dist/browser-folder", () => {
//   return del([ "dist/browser"], {force:true});
// });

// gulp.task("clean-dist/browser-folder", async () => {
//   return await del([ "dist/browser/**", "!dist/browser" ], {force:true});
// });
//

gulp.task("default", [ "clean-dist/browser-folder" ]);

我还用了 function (){} 而不是 lambda。完全相同的结果。 WTCrap 正在发生? 我重新研究的所有问题加上文档都表明我做事正确。

我是否遗漏了一些非常明显的东西 - 我现在只是对它视而不见?谢谢 :)

糟糕!我找到了。所以基本上我的 gulp scripts 像这样在 gulp folder 中(抱歉我忘了在问题中提到这个 - 因为我不认为它在某种程度上是相关的):

rootOfProject/gulp/firstGulpScript.js
rootOfProject/gulp/secondGulpScript.js

// and the cleaning path:

rootOfProject/dist/browser/crap.js

我需要多个 gulp 脚本文件,因为这是一个包含多个应用程序的项目,需要在不同的位置单独编译等。将每个应用程序拆分到它自己的 gulp 文件中似乎更好。回想起来这可能不是最聪明的主意。

现在发生了什么,在我的 clean() 任务 中删除 crap.js 我有:

return del([ "dist/browser/crap.js"], { force : true });

但是 gulp 调查:

rootOfProject/gulp/dist/browser/crap.js - 这当然是错误的位置。

我应该改为这样写:

return del([ "../dist/browser/crap.js"], { force : true }); - 注意这里路径前面的../。因此,新位置将是:

rootOfProject/dist/browser/crap.js - 这是开始清洁的正确位置。

rootOfProject/gulp/dist .. 中没有任何内容需要清理,这就是我没有收到任何错误的原因。任务 运行 很好,但是没有从 dist/... 中删除任何内容...没有错误,事情变得更加混乱

这个烂摊子让我浪费了 2-3 个小时..

希望如果有人发现这样的问题,他们会更加注意指定的路径 - 当 gulp 脚本文件不在项目的根目录中时 .