1

4刚刚从 Gulp迁移到 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 中是否还需要其他更改?

4

1 回答 1

3

好的,似乎在 Gulp 4 中,它需要从函数或任务返回流、承诺、事件发射器、子进程或可观察对象

所以一旦我改变:

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();
});

......一切都恢复正常了。

请注意添加传递给匿名函数的参数,然后在函数末尾调用 - 如链接文章中所述。

于 2018-04-21T17:31:51.390 回答