【问题标题】:Gulp watch runs once then failsGulp watch 运行一次然后失败
【发布时间】:2019-04-08 08:25:32
【问题描述】:

我有一个使用 Gulp 和 SASS 的项目,当我运行 gulp watch 时,它成功运行了第一个更改,没有任何问题。

当我进行任何进一步的更改时会出现问题 - 它们似乎没有注册并且似乎被忽略了。

这是我的 Gulpfile.js 代码:

var theme_name = 'project-theme';

var gulp    = require('gulp'),
    cleanCSS = require('gulp-clean-css'),
    sass    = require('gulp-sass'),
    concat  = require('gulp-concat'),
    uglify  = require('gulp-uglify'),
    rename  = require('gulp-rename');

var paths = {
  styles: {
    src: 'wp-content/themes/' + theme_name + '/gulp/sass/theme.scss',
    folder: 'wp-content/themes/' + theme_name + '/gulp/sass/*.scss',
    dest: 'wp-content/themes/' + theme_name + '/assets/css/'
  },
  scripts: {
    src: 'wp-content/themes/' + theme_name + '/gulp/jquery/*.js',
    dest: 'wp-content/themes/' + theme_name + '/assets/js/'
  }
};

gulp.task('styles', function() {
  return gulp
    .src(paths.styles.src, {
      sourcemaps: true
    })
    .pipe(sass())
    .pipe(cleanCSS())
    .pipe(rename({
      basename: 'main',
      suffix: '.min'
      }))
    .pipe(gulp.dest(paths.styles.dest));
});

gulp.task('scripts', function() {
  return gulp
    .src(paths.scripts.src, {
        sourcemaps: true
    })
    .pipe(uglify())
    .pipe(concat('main.min.js'))
    .pipe(gulp.dest(paths.scripts.dest));
});

gulp.task('watch', function() {
  gulp.watch(paths.scripts.src, gulp.series('scripts'));
  gulp.watch(paths.styles.folder, gulp.series('styles'));
});

gulp.task('default', gulp.parallel('styles', 'scripts', 'watch'));

我在 Stack Overflow 上查看了其他类似的问题,但它们没有为我提供任何成功。任何帮助将不胜感激。

【问题讨论】:

    标签: sass gulp gulp-watch gulp-sass


    【解决方案1】:

    我找到了解决方案。我现在理解的是,Gulp 不知道任务已经完成,因此忽略了所有进一步的更改。

    为了解决这个问题,我将第 48 和 49 行更改为:

    gulp.watch(paths.styles.folder).on('change',gulp.series('styles'));
    gulp.watch(paths.scripts.src).on('change', gulp.series('scripts'));
    

    所有其他更改现在都由gulp watch 注册。

    希望这对遇到类似问题的人有所帮助。

    【讨论】:

      猜你喜欢
      • 2015-05-28
      • 2019-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-03
      • 2015-05-07
      • 1970-01-01
      • 2015-07-05
      相关资源
      最近更新 更多