【发布时间】:2021-08-11 15:37:07
【问题描述】:
我有以下 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?
我尝试为这两个任务添加回调并尝试将它们更改为异步函数,但都没有解决问题。我不知道为什么我会收到这个错误,因为我正在返回一个流。
感谢任何帮助!
【问题讨论】:
-
你试过
returningseries函数导致exports.test吗? -
你试过
exports.test = series(minCss, minJs)吗?以我的经验,这就是你使用series的方式——用闭包包装是有问题的。 -
@edemaine 谢谢!我不知道为什么我会这样,但它现在似乎可以工作了。
-
@alexyoe 你并不孤单——我多次犯过同样的错误。 :-)
标签: javascript gulp