为什么 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);
我有以下 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);