我的nullValuePropertyMappingStrategy
中有一个现有的build
任务,该任务将“源”文件的集合转换为“ dist”文件。我有一组众所周知的文件名,它们告诉我的gulpfile
任务要对哪些文件进行操作:
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
的“基本名称”匹配。
我的问题是:我该如何使用sourceFiles
数组并对其进行“调整” *,以便最终可以调用类似的东西:
sourceFiles
(*技术术语,"munge" ...)
您能指出我正确的方向吗?我查看了各种NPM软件包(乙烯基路径,gulp-map-files,gulp-glob等),但越来越迷路了。
答案 0 :(得分:2)
在将全局变量传递给gulp.src
之前,我会先对其进行更改:
var sourceFiles = [
"./js/source/hoobly.js",
"./js/source/hoo.js"
];
var filesToDelete = sourceFiles.map(f=>f.replace("/source/", "/dist/").replace(".js", ".*"));
console.log(filesToDelete)
并忽略该munge
步骤:
gulp.src(filesToDelete).pipe(del())