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)
问题是什么?传递删除要删除的文件问题是什么?传递以删除要删除的文件