runSequence不能与gulp一起工作

runSequence is not working with gulp?

本文关键字:一起 工作 gulp 不能 runSequence      更新时间:2023-09-26

下面的代码是不太工作吗?

var gulp = require('gulp');
var del = require('del');
var browserify = require('gulp-browserify');
var concat = require('gulp-concat');
var runSequence = require('run-sequence');
var nodemon = require('gulp-nodemon');
gulp.task('clean', function(cb) {
  console.log('YOLO1');
  del(['build/*'], cb);
});
gulp.task('copy', function() {
 console.log('YOLO2')
 return gulp.src('client/www/index.html')
    .pipe(gulp.dest('build'));
});
gulp.task('browserify', function() {
  console.log('YOLO3')
  return gulp.src('client/index.js')
    .pipe(browserify({transform: 'reactify'}))
    .pipe(concat('app.js'))
    .pipe(gulp.dest('build'));
});
gulp.task('build', function(cb) {
  console.log('YOLO4')
  runSequence('clean', 'browserify', 'copy', cb);
});
gulp.task('default', ['build'], function() {
  gulp.watch('client/*/*', ['build']);
  nodemon({ script: './bin/www', ignore: ['gulpfile.js', 'build', 'client', 'dist'] });
});
当前输出:

YOLO4,
YOLO1
所需输出:

 YOLO4,
 YOLO1,
 YOLO3,
 YOLO2

我不知道为什么runSequence只执行第一个任务,无法执行其余的?什么好主意吗?

del不接受回调,而是同步返回(参见https://github.com/gulpjs/gulp/blob/master/docs/recipes/delete-files-folder.md中的第一个示例)

gulp.task('clean', function() {
  console.log('YOLO1');
  return del(['build/*']);
});