Задать вопрос
ZloDeeV
@ZloDeeV
Верстаю в своё удовольствие

Почему Gulp-watch слушатель ошибок срабатывает на ruby-haml только первый раз?

Имеется следующий код в gulpfile.js:
//Function for error log
function log(error) {
  console.log([
    '',
    "===== ERROR MESSAGE START =====".bold.red,
    ('[' + error.name + ' in ' + error.plugin + ']').bold.green,
    error.message,
    "===== ERROR MESSAGE END =======".bold.red,
    ''
    ].join('\n'));
  this.end();
}

...

gulp.task('watch', function() {
  // .. Layouts
  gulp.src([path.layouts.all, path.layouts.views.none])
    .pipe(plugin.watch([path.layouts.all, path.layouts.views.none]))
    .pipe(plugin.rubyHaml()).on('error', log) //error log here
    .pipe(gulp.dest(path.build));
});

...


Этот код работает, т.е. при возникновении ошибки в каком-либо .haml файле, то gulp-watch не падает, а выводит в консоль сообщение об ошибке и продолжает слушать изменения в файлах. Но делает он это лишь в первый раз, если сделать ошибку в другом файле или пересохранить этот файл не исправляя ничего, то консоль радостно моргнет надписью "blabla.haml was changed" и, естественно, не скомпилит этот файл.
  • Вопрос задан
  • 2451 просмотр
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@ikeagold
Переместить rubyHaml в под-таск т.к. его не должно быть рядом с .watch, и .dest тоже.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы