Запустите Gulp Watch for JS и определите, что текущая папка изменилась

Мне нужно минимизировать количество команд gulp из моего файла gulpfile.

Это мои папки JS

js/
   templates/
              t-01/
              t-02/
              [...]
              t-xxx/

Мой глоток для JS (с livereload)

gulp.task('da-js', function() {
    gulp.src([
        'js/templates/**/*.js',
        '!js/templates/**/*.min.js'
        ])
        .pipe(concat('app.min.js'))
        .pipe(gulp.dest('js/templates'))
        .pipe(livereload());
});

Эта задача является глобальной, целевая папка templates но я хочу определить текущую папку файлов js, как это:

  1. Я меняю JS в /templates/t-01/
  2. gulp.watch запускает
  3. app.min.js генерируется только в этой папке t-01

Я знаю gulp.dest неправильно указывать текущую папку, но я не знаю, как это сделать.

Спасибо за помощь:)

1 ответ

Вы можете использовать глоток watch метод для отслеживания обновлений в папке с файлами JS и запуска ряда задач в ответ на некоторые изменения.

gulp.task('watch-files', function() {
    gulp.watch('js/templates/**/*.js', ['da-js']);
}); 

Здесь мы просматриваем все файлы JS в шаблонах и все их подпапки и запускаем задачу объединения файлов (da-js) для каждого обновления. Теперь, когда мы выполняем ту же задачу, ваш app.min.js папка будет создана в вашем templates папка, даже когда вы меняете templates/t-01/some.js,

С watch-files Задача, определенная в вашем gulpfile.js, вы можете просто запустить gulp watch-files команда, которая начнет мониторинг ваших файлов.

Другие вопросы по тегам