Примените другой плагин gulp в моем собственном плагине gulp, используя through2

Я пишу свой собственный плагин gulp, который выглядит следующим образом...

var through2 = require('through2');
var order = require('gulp-order');

module.exports = function() {
    return through2.obj(function(file, encoding, callback) {
        callback(null, transform(file));
    });
};

function transform(file) {
    // I will modify file.contents here - its ok
    return file;
}

и я хотел бы применить какой-то другой плагин gulp к моему буферу, который пришел из gulp.src. Возможно ли использовать via2? Например, перед вызовом via2.obj() я хотел бы применить плагин gulp-order - как я могу это сделать?

1 ответ

Решение

Если вы хотите связать разные плагины Gulp вместе lazypipe Вообще это хороший вариант:

var through2 = require('through2');
var order = require('gulp-order');

function yourPlugin()
    return through2.obj(function(file, encoding, callback) {
        callback(null, transform(file));
    });
}

function transform(file) {
    // I will modify file.contents here - its ok
    return file;
}

function orderPlugin()
    return order(['someFolder/*.js', 'someOtherFolder/*.js']);
}

module.exports = function() {
   return lazypipe().pipe(orderPlugin).pipe(yourPlugin)();
};
Другие вопросы по тегам