Javascript 如何删除全局数组中与basename匹配的所有文件?

Javascript 如何删除全局数组中与basename匹配的所有文件?,javascript,gulp,glob,Javascript,Gulp,Glob,我的gulpfile中有一个现有的build任务,它将一组“源”文件转换为“dist”文件。我有一系列众所周知的文件名,它们告诉我的build任务操作哪些文件: sourceFiles: [ "./js/source/hoobly.js", "./js/source/hoo.js" ] 我的build任务由此生成以下文件: /js/dist/hoobly.js /js/dist/hoobly.min.js /js/dist/hoobly.js.map /js/dist

我的
gulpfile
中有一个现有的
build
任务,它将一组“源”文件转换为“dist”文件。我有一系列众所周知的文件名,它们告诉我的
build
任务操作哪些文件:

sourceFiles: [
    "./js/source/hoobly.js",
    "./js/source/hoo.js"
    ]
我的
build
任务由此生成以下文件:

  • /js/dist/hoobly.js
  • /js/dist/hoobly.min.js
  • /js/dist/hoobly.js.map
  • /js/dist/hoobly.min.js.map
  • /js/dist/hoo.js
  • /js/dist/hoo.min.js
  • /js/dist/hoo.js.map
  • /js/dist/hoo.min.js.map
现在我想编写一个相应的
clean
任务,删除在
build
任务中生成的文件。不幸的是,我不能仅仅删除
/js/dist/
目录中的所有文件,因为其中包含的其他文件不是由所讨论的
build
任务生成的,因此我需要确保我删除的文件与原始
源文件的“basename”匹配

我的问题是:我如何使用
sourceFiles
数组和“munging”*它,这样我就可以调用如下内容:

gulp.src(sourceFiles)
    .pipe(munge()) // I don't know what to do here!!
    .pipe(del());  // does a `del ./js/dist/hoobly.*`
                   // and a  `del ./js/dist/hoo.*`
(*技术术语,…)


你能给我指一下正确的方向吗?我看过各种NPM包(乙烯基路径、gulp地图文件、gulp glob等),我越来越迷路了。

在将glob传递给
gulp.src之前,我会先更改glob:

var sourceFiles=[
“/js/source/hoobly.js”,
“/js/source/hoo.js”
];
var filesToDelete=sourceFiles.map(f=>f.replace(“/source/”,“/dist/”).replace(“.js”,“*”);

console.log(filesToDelete)
在将glob传递到
gulp.src之前,我会更改glob:

var sourceFiles=[
“/js/source/hoobly.js”,
“/js/source/hoo.js”
];
var filesToDelete=sourceFiles.map(f=>f.replace(“/source/”,“/dist/”).replace(“.js”,“*”);

console.log(filesToDelete)
问题是什么?传递删除要删除的文件问题是什么?传递以删除要删除的文件