将 gulp.series 与具有回调的 gulp 任务一起使用
Using gulp.series with a gulp task that has a callback
我正在尝试使用 gulp.series
一次为 CircleCI 生成我所有的构建资产。
const circleciBuild = gulp.series(styles, js, generate-favicon)
lando gulp circleciBuild
失败并显示消息:
ReferenceError: generate is not defined
但是在gulp文件中定义:
gulp.task('generate-favicon', function(done) {
realFavicon.generateFavicon({
// Long function
}, function() {
done();
});
});
我尝试将函数的名称更改为 generateTheFavicon
,但随后出现错误:
ReferenceError: generateTheFavicon is not defined
我猜这与任务的定义方式有关,因为 js
和 styles
是 function js()
和 function styles()
,而问题函数是 gulp.task
。如何重写 gulp.task
函数以在 gulp.series
中使用它?
这可能很简单,但我是 gulp 的新手,对 js 不是很好。
由于您使用这种定义任务的方式:
gulp.task('generate-favicon',...
那么您将始终将这些任务称为它们的字符串名称。所以
const circleciBuild = gulp.series(styles, js, 'generate-favicon')
你没有显示你的其他任务,所以我不知道它们是如何定义的。
如果您改用这种形式:
function generate-favicon () {...
那么你就不会将它们称为字符串,而只是它们的函数名所以
const circleciBuild = gulp.series(styles, js, generate-favicon)
是正确的。由于其他原因,比如传递参数,后面的函数名方法是推荐的方法。
我正在尝试使用 gulp.series
一次为 CircleCI 生成我所有的构建资产。
const circleciBuild = gulp.series(styles, js, generate-favicon)
lando gulp circleciBuild
失败并显示消息:
ReferenceError: generate is not defined
但是在gulp文件中定义:
gulp.task('generate-favicon', function(done) {
realFavicon.generateFavicon({
// Long function
}, function() {
done();
});
});
我尝试将函数的名称更改为 generateTheFavicon
,但随后出现错误:
ReferenceError: generateTheFavicon is not defined
我猜这与任务的定义方式有关,因为 js
和 styles
是 function js()
和 function styles()
,而问题函数是 gulp.task
。如何重写 gulp.task
函数以在 gulp.series
中使用它?
这可能很简单,但我是 gulp 的新手,对 js 不是很好。
由于您使用这种定义任务的方式:
gulp.task('generate-favicon',...
那么您将始终将这些任务称为它们的字符串名称。所以
const circleciBuild = gulp.series(styles, js, 'generate-favicon')
你没有显示你的其他任务,所以我不知道它们是如何定义的。
如果您改用这种形式:
function generate-favicon () {...
那么你就不会将它们称为字符串,而只是它们的函数名所以
const circleciBuild = gulp.series(styles, js, generate-favicon)
是正确的。由于其他原因,比如传递参数,后面的函数名方法是推荐的方法。