我目前正在将gulp从3.x迁移到4.x转换口香糖时我感到震惊。以下是gulp.watch代码
function isOnlyChange(event) {
return event.type === 'changed';
}
function watch(){
gulp.watch([path.join(conf.paths.src, '/*.html')], ['inject-reload']);
gulp.watch([
path.join(conf.paths.src, '/app/**/*.css'),
path.join(conf.paths.src, '/app/**/*.scss')
], function (event) {
if (isOnlyChange(event)) {
gulp.start('styles-reload');
} else {
gulp.start('inject-reload');
}
});
gulp.watch([path.join(conf.paths.src, '/app/**/*.js'), path.join(conf.paths.src, '/app/**/*.json')], function (event) {
if (isOnlyChange(event)) {
gulp.start('scripts-reload');
} else {
gulp.start('inject-reload');
}
});
gulp.watch(path.join(conf.paths.src, '/app/**/*.html'), function (event) {
browserSync.reload(event.path);
});
};
gulp.task('watch', gulp.series(watch));
})();
我收到以下错误错误:观看src * .html:观看任务必须是一个函数(可以选择使用gulp.parallel或gulp.series生成)
我需要为每个gulp.watch添加序列和并行吗?如何进行迁移,是否有任何示例代码可供参考。
错误指出监视任务必须是一个函数,而您的任务是一个数组。更改为:
gulp.watch([path.join(conf.paths.src, '/*.html')], gulp.series('inject-reload'));
有关更多信息,请查看this question。