@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)) 
})
  • Вопрос задан
  • 203 просмотра
Решения вопроса 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)) 
})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы