Gulp 'watch' 使用 BrowserSync 移动到 Gulp 4 后未获取更改
Gulp 'watch' not picking up changes after moving to Gulp 4 with BrowserSync
刚刚从 Gulp 3.9.1
迁移到 Gulp 4
并且当我 运行 gulp
并且它时一切正常编译一切都很好,我可以很好地启动 watch
命令,所以它 出现 就像它正在监视变化一样,每当发生变化时,它似乎无法接收它.
这是我的 watch
任务:
gulp.task('watch', gulp.series('browser-sync', function() {
gulp.watch(['scss/**/*.scss'], gulp.series('css-minify'));
gulp.watch(['js/dev/**/*.js'], gulp.series('js-watch'));
}));
browser-sync
任务:
gulp.task('browser-sync', function() {
browserSync.init({
open: 'external',
proxy: "mysite.local",
host: 'mysite.local',
// port: 5000,
browser: "chrome",
});
});
Gulp 4 中是否还需要进行我在这里遗漏的其他更改?
好的,似乎在 Gulp 4 中它需要一个 stream, promise, event emitter, child process or observable to be returned from a function or task。
所以一旦我改变了:
gulp.task('browser-sync', function() {
browserSync.init({
open: 'external',
proxy: "mysite.local",
host: 'mysite.local',
// port: 5000,
browser: "chrome",
});
});
至:
gulp.task('browser-sync', function(done) {
browserSync.init({
open: 'external',
proxy: "mysite.local",
host: 'mysite.local',
// port: 5000,
browser: "chrome",
});
done();
});
...一切都恢复正常了。
注意添加参数传递给匿名函数,然后在函数末尾调用 - 如链接文章中所述。
刚刚从 Gulp 3.9.1
迁移到 Gulp 4
并且当我 运行 gulp
并且它时一切正常编译一切都很好,我可以很好地启动 watch
命令,所以它 出现 就像它正在监视变化一样,每当发生变化时,它似乎无法接收它.
这是我的 watch
任务:
gulp.task('watch', gulp.series('browser-sync', function() {
gulp.watch(['scss/**/*.scss'], gulp.series('css-minify'));
gulp.watch(['js/dev/**/*.js'], gulp.series('js-watch'));
}));
browser-sync
任务:
gulp.task('browser-sync', function() {
browserSync.init({
open: 'external',
proxy: "mysite.local",
host: 'mysite.local',
// port: 5000,
browser: "chrome",
});
});
Gulp 4 中是否还需要进行我在这里遗漏的其他更改?
好的,似乎在 Gulp 4 中它需要一个 stream, promise, event emitter, child process or observable to be returned from a function or task。
所以一旦我改变了:
gulp.task('browser-sync', function() {
browserSync.init({
open: 'external',
proxy: "mysite.local",
host: 'mysite.local',
// port: 5000,
browser: "chrome",
});
});
至:
gulp.task('browser-sync', function(done) {
browserSync.init({
open: 'external',
proxy: "mysite.local",
host: 'mysite.local',
// port: 5000,
browser: "chrome",
});
done();
});
...一切都恢复正常了。
注意添加参数传递给匿名函数,然后在函数末尾调用 - 如链接文章中所述。