我试图建立我的一口青菜青菜和我得到的错误:
下面的任务没有完成:建立,gulpSass你忘了信号异步完成?
function sass() {
return gulp.src(paths.sass)
.pipe(sourcemaps.init())
.pipe(sass.sync().on('error', sass.logError))
.pipe(sourcemaps.write())
.pipe(gulp.dest(buildDir));
}
gulp.task('build', gulp.series(
clean,
sass,
html,
images
));
问题是什么?
虽然我不能看到你的代码的其余部分,问题最有可能有一个命名collission做。我假设你是走样吞气插件作为sass
。如果你这样做,然后有使用两个名称相同的变量。
var sass = require('gulp-sass');
function sass() { ... }
后者将覆盖第一。所以,当你调用gulp.task('build', gulp.series(...,sass,...));
这是假设你调用的最后一个函数。它没有return语句。
通过重命名或者别名,以类似var nodesass = require('gulp-sass');
或重命名功能轻松解决。
系列或gulp.parallel,你有你的函数之前使用异步关键字,否则你可以按照以下给出的回调声明你的函数。
function sass(cb) {
return gulp.src(paths.sass)
.pipe(sourcemaps.init())
.pipe(sass.sync().on('error', sass.logError))
.pipe(sourcemaps.write())
.pipe(gulp.dest(buildDir));
cb();
}
在其他功能使用此逻辑。