@tuxx

Gulp watch запускается только 1 раз для файла?

Для gulp 4 есть таск watch:
let paths = {
    scss:    'frontend/scss',
    js:      'frontend/js',
    site_js: 'web/js/site.js',
    fonts:   'frontend/fonts',
    images:  'frontend/images',
    dest:    'web/assets',
};

gulp.task('watch-scripts', () => {
    gulp.watch([
        paths.site_js,
        paths.js + '/**/*.js',
    ], gulp.series('scripts'));
});


Для paths.site_js watch срабатывает только 1 раз после запуска\перезапуска таска. Для paths.js + '/**/*.js' запускается при каждом изменении подходящих файлов. При этом для правила 'web/js/*.js' запуск watch происходит как надо при каждом изменении файла site.js, но мне нужно чтобы отслеживался только он, а не все что в папке web/js
  • Вопрос задан
  • 339 просмотров
Пригласить эксперта
Ответы на вопрос 1
andreybold
@andreybold
Наткнулся на этот вопрос когда сам решал эту же задачу. Путём проб и ошибок нашёл что не работает если указывать конкретный файл (т.е. без вайлкарда и т.п.)
Моё костыльное решение:
// Было
watch('./resources/js/admin.js', series(admin));
// Стало
watch('./resources/**/admin.js', series(admin));

Может быть будет полезным кому-нибудь.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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