我想合并我的文件并将其写入单个文件,然后我想删除原始文件。我应该如何在我的默认任务中解决这个问题?
var es = require('event-stream');
var concat = require('gulp-concat');
var unique = require('array-unique');
function concatGroup(groupName, group){
return gulp.src(unique(group.files))
.pipe(concat(groupName + '.js'))
.pipe(gulp.dest(group.target));
}
gulp.task('default', function () {
var groups = {
test: {
files: [array of files],
target: "target dir"
},
test2: {
files: [array of files],
target: "target dir"
},
test3: {
files: [array of files],
target: "target dir"
}
};
var streams = [];
for (var groupName in groups) {
streams.push(concatGroup(groupName, groups[groupName]));
}
return es.concat.apply(es, streams);
});
最佳答案
只需在流中监听 end
事件,然后使用 del
:
var concat = require('gulp-concat');
var unique = require('array-unique');
var del = require('del');
gulp.task('default', function (done) {
var groupName = "test",
group = {
files: [array of files],
target: "target dir"
};
var files = unique(group.files)
gulp.src(files)
.pipe(concat(groupName + '.js'))
.pipe(gulp.dest(group.target))
.on('end', function() {
del(files).then(function() {
done();
});
});
});
关于node.js - 在 Gulp 中连接后删除原始文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36449227/