为什么 gulp 抛出 "Did you forget to signal async completion?"

Why is gulp throwing "Did you forget to signal async completion?"

我有以下 gulp 文件,在今天早上之前几个月都可以正常工作:

//gulpfile.js
const gulp = require('gulp')
const { series } = require('gulp')
const rename = require('gulp-rename')
const uglify = require('gulp-uglify')
const sass = require('gulp-sass')(require('sass'))

function minJs() {
    return gulp
        .src('./dev/js/script.js')
        .pipe(uglify())
        .pipe(
            rename({
                extname: '.min.js'
            })
        )
        .pipe(gulp.dest('./build/js/'))
}
exports.minJs = minJs

function minCss() {
    return gulp
        .src('./dev/css/style.sass')
        .pipe(sass({ outputStyle: 'compressed' }).on('error', sass.logError))
        .pipe(
            rename({
                extname: '.min.css'
            })
        )
        .pipe(gulp.dest('./build/css/'))
}
exports.minCss = minCss

exports.test = () => {
    series(minCss, minJs)
}

每次我运行“Gulp测试”我得到以下错误:

[11:17:59] Starting 'test'...
[11:17:59] The following tasks did not complete: test
[11:17:59] Did you forget to signal async completion?

我试过为这两个任务添加回调并尝试将它们更改为异步函数,但都没有解决问题。我不确定为什么会收到此错误,因为我正在返回一个流。

感谢任何帮助!

gulp.series 实际上是一个高阶规则,也就是说,它从规则中生成规则,所以不应该被包裹在闭包中:

exports.test = series(minCss, minJs);