将gulp.series与具有回调的gulp任务一起使用

将gulp.series与具有回调的gulp任务一起使用,gulp,Gulp,我试图使用gulp.series一次生成CircleCI的所有构建资产 const circleciBuild = gulp.series(styles, js, generate-favicon) lando gulp circleciBuild失败,并显示以下消息: ReferenceError: generate is not defined 但它在gulpfile中有定义: gulp.task('generate-favicon', function(done) { realFa

我试图使用
gulp.series
一次生成CircleCI的所有构建资产

const circleciBuild = gulp.series(styles, js, generate-favicon)
lando gulp circleciBuild
失败,并显示以下消息:

ReferenceError: generate is not defined
但它在gulpfile中有定义:

gulp.task('generate-favicon', function(done) {
  realFavicon.generateFavicon({
  // Long function
  }, function() {
    done();
  });
}))

我尝试将函数名更改为
generateTheFavicon
,但随后出现错误:

ReferenceError: generateTheFavicon is not defined
我猜这与任务的定义方式有关,因为
js
style
function js()
function styles()
,而问题函数是
gulp.task
。如何重写
gulp.task
函数以在
gulp.series
中使用它


这可能很容易,但我是新手,对js不是很在行。

因为您使用这种定义任务的方式:

gulp.task('generate-favicon',...
然后,您将始终将这些任务称为其字符串名称。所以

const circleciBuild = gulp.series(styles, js, 'generate-favicon')
您没有显示其他任务,因此我不知道它们是如何定义的

如果您使用此表单:

function generate-favicon ()  {...
那么你就不会把它们称为字符串,只会把它们的函数名称为字符串

const circleciBuild = gulp.series(styles, js, generate-favicon)
这是正确的。出于其他原因,像传递参数一样,建议使用后面的函数名方法