刚刚从Gulp 4
迁移到Gulp 3.9.1
,当我运行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是否需要另外更改我在这里失踪?
答案 0 :(得分:3)
好吧,似乎在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();
});
......一切都恢复了。
注意添加传递给匿名函数的参数,然后在函数末尾激活 - 如链接文章中所述。