node.js - 在 Gulp 中连接后删除原始文件

标签 node.js gulp gulp-concat

我想合并我的文件并将其写入单个文件,然后我想删除原始文件。我应该如何在我的默认任务中解决这个问题?

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/

相关文章:

handlebars.js - 使用 Handlebars、Gulp 和 Browserify,无需将模板写入磁盘

javascript - Gulp 没有正确查看我的 scss 文件

javascript - 使用 gulp-jade 和 gulp-useref 时,CSS 和 JS 文件不会缩小和连接

javascript - 使用 Gulp 以正确的顺序连接 js 文件

javascript - 制作Get api时显示错误信息

javascript - 在多个端口上运行 node.js http 服务器

javascript - Gulp 连接并需要路径

javascript - 使用 gulp 访问 typescript 文件变量值

javascript - NPM 请求表单不断返回 415 状态

node.js - 第一次编码,很困惑 - Echo