Почему мои задачи глотка не следят за изменениями?

1

У меня возникли проблемы с настройкой файла gulp для просмотра. Когда я запускаю задачу по умолчанию, она выполняет все задания, которые она должна была, но если я добавляю файл или вношу изменения в любой из файлов SCSS, он не запускает работу sass (я также предполагаю, что это не будет запустить imagemin или js-watch).

Ниже мой файл gulp

var pkg = require('./package.json');
var gulp = require('gulp');

const BrowserSync = require('./gulp-tasks/browser-sync');
const Sass = require('./gulp-tasks/sass');
const Scripts = require('./gulp-tasks/scripts');
const Svg = require('./gulp-tasks/svg-sprite');
const Img = require('./gulp-tasks/img-min');

gulp.task('browser-sync-init', BrowserSync.initialize);
gulp.task('js-watch', ['js'], BrowserSync.reload);
gulp.task('reload-watch', ['copy'], BrowserSync.reload);

gulp.task('sass', Sass.build);

gulp.task('lint', Scripts.lint);
gulp.task('js', ['lint'], Scripts.build);

gulp.task('copy', function(){
    gulp.src('${pkg.config.themeRoot}/**/*.html')
        .pipe(gulp.dest(pkg.config.dist));
});

gulp.task('imagemin', Img.imgmin);

gulp.task('svg', Svg.build);

gulp.task('default', ['sass', 'js', 'imagemin', 'browser-sync-init'], function(){
    gulp.watch('${pkg.config.scss}/**/*.scss', ['sass']);
    gulp.watch('${pkg.config.scripts}/**/*.js', ['js-watch']);
    gulp.watch('${pkg.config.images}/source/**', ['imagemin']);
});

И это определение для pkg.config.scss

"scss": "wp-content/themes/grpw67000/assets/scss",

Что я могу делать неправильно?

  • 0
    Это только для файлов scss или для каждого типа файлов?
Теги:
gulp

1 ответ

2
Лучший ответ
    var pkg = require('./package.json');
    var gulp = require('gulp');

    const BrowserSync = require('./gulp-tasks/browser-sync');
    const Sass = require('./gulp-tasks/sass');
    const Scripts = require('./gulp-tasks/scripts');
    const Svg = require('./gulp-tasks/svg-sprite');
    const Img = require('./gulp-tasks/img-min');

    gulp.task('browser-sync-init', BrowserSync.initialize);
    gulp.task('js-watch', ['js'], BrowserSync.reload);
    gulp.task('reload-watch', ['copy'], BrowserSync.reload);

    gulp.task('sass', Sass.build);

    gulp.task('lint', Scripts.lint);
    gulp.task('js', ['lint'], Scripts.build);

    gulp.task('copy', function(){
        gulp.src('${pkg.config.themeRoot}/**/*.html')
            .pipe(gulp.dest(pkg.config.dist));
    });

    gulp.task('imagemin', Img.imgmin);

    gulp.task('svg', Svg.build);

    // Watch task for gulp
    gulp.task('watch', function () {
       gulp.watch('${pkg.config.scss}/**/*.scss', ['sass']);
       gulp.watch('${pkg.config.scripts}/**/*.js', ['js-watch']);
       gulp.watch('${pkg.config.images}/source/**', ['imagemin']);
    });

    gulp.task('default', ['sass', 'js', 'imagemin', 'browser-sync-init', 'watch']);

Попробуйте добавить отдельную задачу gulp для функций watch. Если это не работает, проверьте,

${pkg.config.scss}

Правильно установите префикс пути.

  • 0
    Это работало отлично! Благодарю.
  • 0
    @BryanWhite Отлично. Рад помочь тебе. Вы можете проголосовать за это.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню