[英]How to start gulp task from other gulp task after gulp.start is deprecated in gulp V4?
我需要创建名为“watch”的gulp任务来监视index.html文件中的更改,并在index.html中进行更改时启动名为“html”的其他gulp任务。 根据我所遵循的教程,这应该是这样做的:
gulp.task('watch', function(){
watch('app/index.html', function() {
gulp.start('html');
});
});
但它返回错误消息,因为gulp.start在gulp v4中已弃用。 我尝试了使用串行和并行方法的几种解决方案,但说实话,我根本不理解这些解决方案并且没有使用这个得到任何结果。 有人能告诉我如何在我的简单例子中做到这一点吗?
Gulp任务现在是简单的功能。 无需通过gulp.task()
定义任务,您只需定义函数:
function html(cb) {
// Do something
cb()
}
现在,对函数html
的引用可以用作任务:
function watch() {
return gulp.watch('app/index.html', html)
}
请注意,定义为简单函数的任务被视为私有任务,不能通过gulp <task>
调用它们。 为此,您需要通过导出它们来公开它们:
exports.html = html
exports.watch = watch
因此,对于您的特定用例,您不需要series
和parallel
。 但是,您可以以相同的方式将任务(函数引用)传递给它们以创建其他任务:
exports.rebuild = gulp.series(clean, build)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.