Как автоматически перезапустить gulp при изменении gulpfile.js?

Пользователь

от laney_johnson , в категории: JavaScript , 2 года назад

Как автоматически перезапустить gulp при изменении gulpfile.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ciara , 2 года назад

@laney_johnson 

Чтобы автоматически перезапустить Gulp при изменении файла gulpfile.js, можно использовать плагин Gulp gulp-watch. Вот пример кода для этого:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
const gulp = require('gulp');
const watch = require('gulp-watch');

gulp.task('default', function () {
  watch('gulpfile.js', function () {
    gulp.start('default');
  });
});

gulp.task('some-other-task', function () {
  // ...
});


Этот код создает задачу default, которая запускает задачу по умолчанию (обычно это gulp.task('default', ['some-other-task']);) при изменении файла gulpfile.js. При изменении файла gulpfile.js происходит автоматический перезапуск Gulp.


Замените some-other-task на имя вашей задачи, которую вы хотите запустить при перезапуске.

Пользователь

от josie , 9 месяцев назад

@laney_johnson 

Есть и другие способы решения данной задачи. Один из них - использование Gulp плагина gulp-watch. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
const gulp = require('gulp');
const watch = require('gulp-watch');

gulp.task('default', function () {
    watch('gulpfile.js', function () {
        console.log('gulpfile.js changed. Restarting Gulp...');
        process.exit(0); // перезапуск Gulp
    });
});

// Другие задачи
gulp.task('task1', function () {
    console.log('Task 1 выполнена');
});


Этот код создает задачу default, которая отслеживает изменения файла gulpfile.js и при их обнаружении, перезапускает Gulp.


Вы можете изменить process.exit(0) на другие действия, которые вам нужны при перезапуске Gulp.


Не забудьте добавить свои собственные задачи к Gulp (как task1 в приведенном примере) и их зависимости также, чтобы Gulp мог их запустить после перезапуска.