Кто не знаком с тем, что при написании кода очень часто возникают ошибки или банальные опечатки?
И даже если установлены такие палочки-выручалочки, как Emmet, это не всегда спасает из ситуации. А если представить, что вы пишете большой проект и в нем закралась ошибка, то нелегко будет ее найти в куче кода.
При использовании Gulp, который автоматически отслеживает события и выполняет соотвествующие задачи, ситуация несколько “облегчается” тем, что при возникновении ошибки можно увидеть тот момент, когда она произошла.
Например, Gulp настроен на автоматическое фиксирование изменений через
. Если возникла ошибка, то выполнение мониторинга в Gulp прерывается:1
gulp.watch
Но даже в этом случае довольно трудно разобраться, где именно закралась ошибка. В этой ситуации может помочь плагин gulp-plumber, который формирует вывод об ошибке. Но при этом работа Gulp не прерывается.
Давайте установим и попробуем в работе плагин
.1
gulp-plumber
Установка плагина gulp-plumber
Установка плагина
стандартная, через менеджер пакетов 1
gulp-plumber
с ключом 1
npm
:1
--save-dev
Использование плагина gulp-plumber
Для применения плагина
в проекте необходимо создать переменную 1
gulp-plumber
:1
plumber
А затем дописать строку
в ту задачу, в которой необходимо включить возможность отслеживания ошибок. Например, пусть это будет задача минификации всех js-файлов проекта 1
.pipe(plumber())
. Тогда в ней сразу после строки 1
uglify
добавляем строку 1
gulp.src('js/*.js')
, чтобы отслеживались возможные ошибки во всех нижеследующих задачах, таких как 1
.pipe(plumber())
или 1
.pipe(uglify())
:1
.pipe(gulp.dest('build/js'))
Точно также можно поступить, если необходим контроль ошибок в другой задаче, к примеру конкатенации CSS-файлов:
Запуск мониторинга ошибок gulp-plumber
Для удобства проверки работы плагина
создам задачу 1
gulp-plumber
и помещу ее в задачу по умолчанию 1
gulp.watch
:1
default
Запускаю в консоли процесс мониторинга в Gulp командой:
… и смотрю на вывод в консоли:
Теперь намеренно вношу ошибку в файл
и снова перевожу взгзляд на консоль:1
jquery-1.11.1.js
Отлично! Плагин
выполнил свою задачу - сформировал ясный и четкий отчет об ошибке. И при этом не прервал работу самого Gulp.1
gulp-plumber
Возвратим все назад и исправим ошибку, допущенную ранее. Снова взглянем на консоль:
Плагин
снова справился со своей задачей - ошибка нами исправлена и он прилежно ее зафиксировал.1
gulp-plumber