Как мне посмотреть несколько целей в Gulp?
Я использую browserify для прослушивания, чтобы скомпилировать несколько файлов в несколько целей, вот так (используя этот трюк):
gulp.task('js', function () {
var bundler = through2.obj(function (file, enc, next) {
browserify(file.path).bundle(function(err, res) {
file.contents = res;
next(null, file);
});
});
return gulp.src(['foo.js', 'bar.js'])
.pipe(bundler)
.pipe(uglify())
// Other pipes
.pipe(gulp.dest('./compiled'));
});
Как я могу объединить это через использование 2 с watchify? Общий совет по использованию винил-источник-поток не работает для меня. Я хочу сгенерировать два файла (скомпилированный /foo.js и скомпилированный /bar.js). Я не хочу объединять файлы в один.
1 ответ
Решение
Я разобрался, как объединить через 2 и посмотреть. Хитрость в том, чтобы не звонить next()
по обновлениям:
var bundler = through.obj(function (file, enc, next) {
var b = watchify(browserify(file.path))
b.on('update', function () {
gutil.log('Updated', gutil.colors.magenta(file.path));
b.bundle(function (err, res) {
file.contents = res;
// Do not call next!
});
b.on('log', gutil.log);
}
b.bundle(function (err, res) {
file.contents = res;
next(null, file);
});
});