@kostein
Сварщик - Верстальщик

Как досрочно, по условию завершить task, не прибив при этом watch?

Собственно идея иметь и dev и production версию в разных папках не плодя при этом задачи.

gulp.task('jade', function () {
	return gulp.src(config.src.jade)
	.pipe(plumber())
	.pipe(jade({
		pretty: true // Комментарии и отформатированный код.
	}))
	.pipe(gulp.dest(config.dev.html))
	.pipe(gulpif(!isDevelopment, htmlmin({
		collapseWhitespace: true,
		removeComments: true
	}), /* Здесь надо выйти!? */))
	.pipe(gulp.dest(config.prod.html)) 
})
  • Вопрос задан
  • 211 просмотров
Решения вопроса 1
@fayster
Как вариант можно сделать так:
const through2 = require('through2').obj;

gulp.task('jade', function (callback) {
  return gulp.src(config.src.jade)
  .pipe(plumber())
  .pipe(jade({
    pretty: true // Комментарии и отформатированный код.
  }))
  .pipe(gulp.dest(config.dev.html))
  .pipe(gulpif(!isDevelopment, htmlmin({
    collapseWhitespace: true,
    removeComments: true
  })
  .pipe(through2((file, enc, cb) => {
    if (isDevelopment) { // задаем условие
	   callback(); // выходим из таска
    } else {
	   cb(null, file); // передаем файлы дальше в поток
    }
  }))
  .pipe(gulp.dest(config.prod.html)) 
})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект