Я хочу, чтобы gulp отслеживал папки для новых файлов (а не только для обновления файлов). Я пытался использовать плагин gulp.watch
и gulp-watch
, оба не работают для добавления новых файлов.
Я собираюсь добавить упрощенные версии моего gulp (например, я буду использовать только папку с изображениями)
Первый вариант с gulp.wath
:
const gulp = require('gulp');
const runSequence = require('run-sequence');
let dev = true;
// clean the build directory
gulp.task('clean', del.bind(null, ['public/build']));
// proceed and copy all images to build directory
gulp.task('images', () => {
return gulp.src('assets/images/**/*')
.pipe($.cache($.imagemin()))
.pipe(gulp.dest('public/build/images'));
});
// build for development with watching for a changes
gulp.task('watch', () => {
runSequence(['clean'], ['images'], () => {
console.log('WATCHING FOR A CHANGES');
gulp.watch([
'assets/images/**/*',
]).on('change', reload);
});
});
Второй вариант с gulp.wath
:
const gulp = require('gulp');
const runSequence = require('run-sequence');
let dev = true;
// clean the build directory
gulp.task('clean', del.bind(null, ['public/build']));
// proceed and copy all images to build directory
gulp.task('images', () => {
return gulp.src('assets/images/**/*')
.pipe($.cache($.imagemin()))
.pipe(gulp.dest('public/build/images'));
});
// build for development with watching for a changes
gulp.task('watch', () => {
runSequence(['clean'], ['images'], () => {
console.log('WATCHING FOR A CHANGES');
gulp.watch('assets/images/**/*', ['images']);
});
});
Опция с gulp-wath
:
const gulp = require('gulp');
const runSequence = require('run-sequence');
const watch = require('gulp-watch');
let dev = true;
// clean the build directory
gulp.task('clean', del.bind(null, ['public/build']));
// proceed and copy all images to build directory
gulp.task('images', () => {
return gulp.src('assets/images/**/*')
.pipe($.cache($.imagemin()))
.pipe(gulp.dest('public/build/images'));
});
// build for development with watching for a changes
gulp.task('watch', () => {
runSequence(['clean'], ['images'], () => {
console.log('WATCHING FOR A CHANGES');
watch('assets/images/**/*', function () {
gulp.start('images')
});
});
});
ни одна из предоставленных опций не работает для вновь добавленных файлов, третья опция даже не отслеживает изменения файлов вообще, но зависит от этой статьи , она должна работать.