从 gulp 3.x 迁移到 gulp 4.x 时,浏览器同步、脚本和样式重新加载不起作用



我正在尝试将gulp从3.x升级到4.x 使用gulp watch时,样式,脚本和注入功能运行良好。但是当我进行任何文件更改时,脚本和样式需要自动加载。这是行不通的。

我尝试将gulp.series添加到每个函数中。

function isOnlyChange(event) {
return event.type === 'changed';
}
gulp.watch([
path.join(conf.paths.src, '/app/**/*.css'),
path.join(conf.paths.src, '/app/**/*.scss')
], gulp.series(function (event) {
if (isOnlyChange(event)) {
gulp.series('styles-reload');
} else {
gulp.series('inject-reload');
}
}));

当我在样式文件中进行更改时,Gulp 手表需要重新加载样式,但这没有执行。 有人可以帮我解决如何在gulp 4.x中表现吗

你可以尝试这样的事情:

function myWatch() {
gulp.watch(['./scss/*.scss'], { events: 'change' }, function (cb) {
console.log("here 1");
// gulp.series('styles-reload');
cb();
});
gulp.watch(['./scss/*.scss'], { events: ['add', 'addDir', 'unlink', 'unlinkDir', 'ready', 'error'] }, function (cb) {
console.log("here 2");
// gulp.series('inject-reload');
cb();
});
}

请参阅 https://gulpjs.com/docs/en/api/watch#options 以查看可以包含在第二个gulp.watch中的事件的说明。

最新更新