Запустите 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, как это:
- Я меняю JS в
/templates/t-01/
gulp.watch
запускает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
команда, которая начнет мониторинг ваших файлов.