我需要创建名为'watch'的gulp任务,以监视index.html文件中的更改,并在index.html中进行更改时启动其他名为'html'的gulp任务。根据我正在遵循的教程,应该这样进行:
gulp.task('watch', function(){
watch('app/index.html', function() {
gulp.start('html');
});
});
但是它返回了我错误消息,因为gulp v4中不推荐使用gulp.start。我尝试了使用串联和并行方法的几种解决方案,但是老实说,我根本不理解该解决方案,并且使用该解决方案没有任何结果。有人可以在我的简单示例中向我展示如何做吗?
答案 0 :(得分:0)
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)