Gulp 更新到版本4后,吞咽功能不工作

Gulp 更新到版本4后,吞咽功能不工作,gulp,Gulp,我已将Gulp 3.9更新为4,我的Gulp任务现在返回断言错误:必须指定任务函数 有人能告诉我如何重构下面的代码来使用Gulp4吗 提前谢谢 gulp.task('default', ['sass', 'browser-sync'], function () { gulp.watch("./scss/**/*.scss", ['sass']); gulp.watch("./js/main.js", ['javascript']); }); 我应该这样做。函数签名已从3个参数更

我已将Gulp 3.9更新为4,我的Gulp任务现在返回断言错误:必须指定任务函数

有人能告诉我如何重构下面的代码来使用Gulp4吗

提前谢谢

gulp.task('default', ['sass', 'browser-sync'], function () {
    gulp.watch("./scss/**/*.scss", ['sass']);
    gulp.watch("./js/main.js", ['javascript']);
});
我应该这样做。函数签名已从3个参数更改为2个参数,您需要使用gulp.series

面对同样的问题,我在这里找到了这段代码

希望这有帮助

gulp.task('default', gulp.series('sass', 'browser-sync', function () {
    gulp.watch("./scss/**/*.scss", 'sass');
    gulp.watch("./js/main.js", 'javascript');
}));
// compile scss into css
function style() {
    // 1. where is my scss file
    return gulp.src('./app/scss/**/*.scss')
    // 2. pass that file through sass compiler
      .pipe(sass().on('error', sass.logError))
    // 3. where do I save the compiled CSS?
      .pipe(gulp.dest('./app/css'))
    // 4. stream changes to all browser
      .pipe(browserSync.stream());
}

function watch() {
    browserSync.init({
        server: {
            baseDir: './app/'
        }
    });
    gulp.watch('./app/scss/**/*.scss', style);
    gulp.watch('./app/**/*.html').on('change', browserSync.reload);
    gulp.watch('./app/js/**/*.js').on('change', browserSync.reload);
}

exports.style = style;
exports.watch = watch;