Gulp watch在watch任务之前改变了回调触发

gulp watch changed callback fires before watch tasks

本文关键字:watch 回调 改变 任务 Gulp      更新时间:2023-09-26

下面的代码用于监视文件更改。我希望首先运行"build-dev-mainjs"任务。接下来应该运行$.livereload.changed。但事实恰恰相反。

 // syncronous
gulp.task('build-dev-mainjs', ['jshint', 'clean'], function() {
    console.log('inmaindevjs');
    return gulp.src(['app/client/scripts/*.js',
                'app/client/bower_components/**/*.js'])
    .pipe(gulp.dest('public/assets/scripts'));
});

gulp.watch('app/client/scripts/**/*.js', ['build-dev-mainjs'])
    .on('change', $.livereload.changed);

我想要这种行为的原因是,因为每次更改后,build-dev-mainjs任务运行,将文件复制到dist文件夹。服务器从dist文件夹中获取文件

安装gulp插件:run-sequence

下面是如何使用它的一个例子:

// This will run in this order:
// * build-clean
// * build-scripts and build-styles in parallel
// * build-html
// * Finally call the callback function
gulp.task('build', function(callback) {
  runSequence('build-clean',
              ['build-scripts', 'build-styles'],
              'build-html',
              callback);
});