无法使用 gulp.series() 序列化任务

Can't serialize tasks with gulp.series()

只有传递给 gulp.series() 的第一个函数会触发,其余的不会触发。下面是我的(简体)gulpfile.js:

gulp.task('sass', function() {
  ...
});

gulp.task('js', function() {
  ...
});

gulp.task('images', function() {
  ...
});

gulp.task('browserSync', function() {
  browserSync.init({
    proxy: 'http://127.0.0.1/protection/',
  })
})

gulp.task('watch', gulp.series('browserSync', 'js', 'sass', function() {
  gulp.watch('../assets/styles/**/*.scss',['sass']);
  gulp.watch('../**/**/*.php', browserSync.reload);
  gulp.watch('../assets/scripts/*.js', ['js']);
  gulp.watch('../*.html', browserSync.reload);
}));

我做错了什么?

gulp.task('browserSync', function(done) {
  browserSync.init({
    proxy: 'http://127.0.0.1/protection/',
  })
  done();
})

所有其他任务:

gulp.task('images', function() {
  reurn gulp.src()...
});

gulp.task('images', function(done) {
  ...
  done();
});

gulp.task('watch', gulp.series('browserSync', 'js', 'sass', function() {
  gulp.watch('../assets/styles/**/*.scss', gulp.series('sass'));
  gulp.watch('../**/**/*.php', browserSync.reload);
  gulp.watch('../assets/scripts/*.js', gulp.series('js'));
  gulp.watch('../*.html', browserSync.reload);
}));

gulp.watch('../assets/styles/**/*.scss', 'sass');  

也可能有效,因为您只调用一个 function/task。我通常只是用 gulp.series('sass') 的方式来证明它的未来。

Gulp v4 需要一个函数(因此是您的错误消息)作为 gulp.watch 的第二个参数,而不是 gulp v3 任务数组旧参数。